spv.debuginfo.hlsl.tese
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 477

                              Capability Tessellation
                              Extension  "SPV_KHR_non_semantic_info"
               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               3:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationEvaluation 6  "main" 368 383 392 401 408 414 454 458 462 465 468 471 474
                              ExecutionMode 6 Quads
               2:             String  ""
               9:             String  "float"
              12:             String  "uint"
              26:             String  "TessLevelOuter"
              28:             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
"
              32:             String  "TessLevelInner"
              35:             String  "ConstantsHSOutput"
              52:             String  "Pos"
              55:             String  "Normal"
              59:             String  "UV"
              63:             String  "HSOutput"
              71:             String  "WorldPos"
              81:             String  "DSOutput"
              89:             String  "@main"
              93:             String  "input"
              99:             String  "TessCoord"
             102:             String  "patch"
             109:             String  "output"
             120:             String  "uv1"
             125:             String  "int"
             140:             String  "uv2"
             164:             String  "n1"
             176:             String  "n2"
             199:             String  "pos1"
             211:             String  "pos2"
             223:             String  "pos"
             235:             String  "type.2d.image"
             237:             String  "@type.2d.image"
             243:             String  "displacementMapTexture"
             249:             String  "type.sampler"
             250:             String  "@type.sampler"
             255:             String  "displacementMapSampler"
             259:             String  "type.sampled.image"
             260:             String  "@type.sampled.image"
             269:             String  "bool"
             276:             String  "modelview"
             281:             String  "lightPos"
             285:             String  "frustumPlanes"
             288:             String  "tessellatedEdgeSize"
             292:             String  "viewportDim"
             296:             String  "UBO"
             299:             String  "ubo"
                              Name 6  "main"
                              Name 24  "ConstantsHSOutput"
                              MemberName 24(ConstantsHSOutput) 0  "TessLevelOuter"
                              MemberName 24(ConstantsHSOutput) 1  "TessLevelInner"
                              Name 50  "HSOutput"
                              MemberName 50(HSOutput) 0  "Pos"
                              MemberName 50(HSOutput) 1  "Normal"
                              MemberName 50(HSOutput) 2  "UV"
                              Name 66  "DSOutput"
                              MemberName 66(DSOutput) 0  "Pos"
                              MemberName 66(DSOutput) 1  "Normal"
                              MemberName 66(DSOutput) 2  "UV"
                              MemberName 66(DSOutput) 3  "ViewVec"
                              MemberName 66(DSOutput) 4  "LightVec"
                              MemberName 66(DSOutput) 5  "EyePos"
                              MemberName 66(DSOutput) 6  "WorldPos"
                              Name 87  "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];"
                              Name 84  "input"
                              Name 85  "TessCoord"
                              Name 86  "patch"
                              Name 107  "output"
                              Name 118  "uv1"
                              Name 138  "uv2"
                              Name 162  "n1"
                              Name 174  "n2"
                              Name 197  "pos1"
                              Name 209  "pos2"
                              Name 221  "pos"
                              Name 241  "displacementMapTexture"
                              Name 253  "displacementMapSampler"
                              Name 274  "UBO"
                              MemberName 274(UBO) 0  "projection"
                              MemberName 274(UBO) 1  "modelview"
                              MemberName 274(UBO) 2  "lightPos"
                              MemberName 274(UBO) 3  "frustumPlanes"
                              MemberName 274(UBO) 4  "displacementFactor"
                              MemberName 274(UBO) 5  "tessellationFactor"
                              MemberName 274(UBO) 6  "viewportDim"
                              MemberName 274(UBO) 7  "tessellatedEdgeSize"
                              Name 297  "ubo"
                              MemberName 297(ubo) 0  "ubo"
                              Name 303  ""
                              Name 366  "input"
                              Name 368  "input.TessLevelOuter"
                              Name 383  "input.TessLevelInner"
                              Name 390  "TessCoord"
                              Name 392  "TessCoord"
                              Name 398  "patch"
                              Name 401  "patch.Pos"
                              Name 408  "patch.Normal"
                              Name 414  "patch.UV"
                              Name 446  "flattenTemp"
                              Name 448  "param"
                              Name 450  "param"
                              Name 454  "@entryPointOutput.Pos"
                              Name 458  "@entryPointOutput.Normal"
                              Name 462  "@entryPointOutput.UV"
                              Name 465  "@entryPointOutput.ViewVec"
                              Name 468  "@entryPointOutput.LightVec"
                              Name 471  "@entryPointOutput.EyePos"
                              Name 474  "@entryPointOutput.WorldPos"
                              Decorate 241(displacementMapTexture) DescriptorSet 0
                              Decorate 241(displacementMapTexture) Binding 1
                              Decorate 253(displacementMapSampler) DescriptorSet 0
                              Decorate 253(displacementMapSampler) Binding 1
                              Decorate 272 ArrayStride 16
                              MemberDecorate 274(UBO) 0 RowMajor
                              MemberDecorate 274(UBO) 0 Offset 0
                              MemberDecorate 274(UBO) 0 MatrixStride 16
                              MemberDecorate 274(UBO) 1 RowMajor
                              MemberDecorate 274(UBO) 1 Offset 64
                              MemberDecorate 274(UBO) 1 MatrixStride 16
                              MemberDecorate 274(UBO) 2 Offset 128
                              MemberDecorate 274(UBO) 3 Offset 144
                              MemberDecorate 274(UBO) 4 Offset 240
                              MemberDecorate 274(UBO) 5 Offset 244
                              MemberDecorate 274(UBO) 6 Offset 248
                              MemberDecorate 274(UBO) 7 Offset 256
                              MemberDecorate 297(ubo) 0 Offset 0
                              Decorate 297(ubo) Block
                              Decorate 303 DescriptorSet 0
                              Decorate 303 Binding 0
                              Decorate 368(input.TessLevelOuter) Patch
                              Decorate 368(input.TessLevelOuter) BuiltIn TessLevelOuter
                              Decorate 383(input.TessLevelInner) Patch
                              Decorate 383(input.TessLevelInner) BuiltIn TessLevelInner
                              Decorate 392(TessCoord) Patch
                              Decorate 392(TessCoord) BuiltIn TessCoord
                              Decorate 401(patch.Pos) BuiltIn Position
                              Decorate 408(patch.Normal) Location 0
                              Decorate 414(patch.UV) Location 1
                              Decorate 454(@entryPointOutput.Pos) BuiltIn Position
                              Decorate 458(@entryPointOutput.Normal) Location 0
                              Decorate 462(@entryPointOutput.UV) Location 1
                              Decorate 465(@entryPointOutput.ViewVec) Location 2
                              Decorate 468(@entryPointOutput.LightVec) Location 3
                              Decorate 471(@entryPointOutput.EyePos) Location 4
                              Decorate 474(@entryPointOutput.WorldPos) Location 5
               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:     11(int) Constant 4
              19:             TypeArray 8(float) 18
              20:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 18
              21:     11(int) Constant 2
              22:             TypeArray 8(float) 21
              23:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 21
24(ConstantsHSOutput):             TypeStruct 19 22
              27:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 28
              29:     11(int) Constant 51
              30:     11(int) Constant 25
              25:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 26 20 27 29 30 16 16 17
              33:     11(int) Constant 52
              31:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 32 23 27 33 30 16 16 17
              36:     11(int) Constant 1
              38:     11(int) Constant 5
              37:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 38
              34:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 16 16 37 35 16 17 25 31
              39:             TypePointer Function 24(ConstantsHSOutput)
              40:     11(int) Constant 7
              41:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 40 16
              42:             TypeVector 8(float) 2
              43:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21
              44:             TypePointer Function 42(fvec2)
              45:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 43 40 16
              46:             TypeVector 8(float) 4
              47:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18
              48:             TypeVector 8(float) 3
              49:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17
    50(HSOutput):             TypeStruct 46(fvec4) 48(fvec3) 42(fvec2)
              53:     11(int) Constant 44
              51:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 52 47 27 53 14 16 16 17
              56:     11(int) Constant 45
              57:     11(int) Constant 35
              54:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 49 27 56 57 16 16 17
              60:     11(int) Constant 46
              61:     11(int) Constant 31
              58:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 43 27 60 61 16 16 17
              62:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 63 36 27 16 16 37 63 16 17 51 54 58
              64:             TypeArray 50(HSOutput) 18
              65:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 62 18
    66(DSOutput):             TypeStruct 46(fvec4) 48(fvec3) 42(fvec2) 48(fvec3) 48(fvec3) 48(fvec3) 48(fvec3)
              68:     11(int) Constant 57
              69:     11(int) Constant 13
              67:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 52 47 27 68 69 16 16 17
              72:     11(int) Constant 63
              73:     11(int) Constant 37
              70:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17
              75:     11(int) Constant 59
              74:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 43 27 75 61 16 16 17
              76:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17
              77:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17
              78:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17
              79:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17
              80:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 81 36 27 16 16 37 81 16 17 67 70 74 76 77 78 79
              82:             TypeFunction 66(DSOutput) 39(ptr) 44(ptr) 64
              83:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 80 34 43 62
              91:     11(int) Constant 68
              90:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 89 83 27 91 16 37 89 17 91
              92:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 34 27 91 16 90 18 36
              95:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
              98:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 43 27 91 16 90 18 21
             101:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 62 27 91 16 90 18 17
             105:             TypePointer Function 66(DSOutput)
             106:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 80 40 16
             110:     11(int) Constant 70
             108:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 80 27 110 16 90 18
             113:    8(float) Constant 0
             114:   46(fvec4) ConstantComposite 113 113 113 113
             115:   48(fvec3) ConstantComposite 113 113 113
             116:   42(fvec2) ConstantComposite 113 113
             117:66(DSOutput) ConstantComposite 114 115 116 115 115 115 115
             121:     11(int) Constant 71
             119:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 43 27 121 16 90 18
             124:             TypeInt 32 1
             126:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 125 14 18 16
             127:    124(int) Constant 0
             128:    124(int) Constant 2
             130:    124(int) Constant 1
             132:             TypePointer Function 8(float)
             133:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 40 16
             141:     11(int) Constant 72
             139:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 140 43 27 141 16 90 18
             144:    124(int) Constant 3
             153:     11(int) Constant 73
             160:             TypePointer Function 48(fvec3)
             161:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 40 16
             165:     11(int) Constant 75
             163:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 49 27 165 16 90 18
             177:     11(int) Constant 76
             175:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 176 49 27 177 16 90 18
             188:     11(int) Constant 77
             195:             TypePointer Function 46(fvec4)
             196:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 47 40 16
             200:     11(int) Constant 80
             198:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 199 47 27 200 16 90 18
             212:     11(int) Constant 81
             210:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 211 47 27 212 16 90 18
             224:     11(int) Constant 82
             222:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 47 27 224 16 90 18
             233:             TypeImage 8(float) 2D sampled format:Unknown
             236:     11(int) Constant 84
             238:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
             234:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 16 27 236 16 37 237 238 17
             239:             TypePointer UniformConstant 233
             240:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 234 16 16
241(displacementMapTexture):    239(ptr) Variable UniformConstant
             244:     11(int) Constant 8
             242:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 243 234 27 236 16 37 243 241(displacementMapTexture) 244
             247:             TypeSampler
             248:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 249 36 27 236 16 37 250 238 17
             251:             TypePointer UniformConstant 247
             252:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 248 16 16
253(displacementMapSampler):    251(ptr) Variable UniformConstant
             254:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 255 248 27 236 16 37 255 253(displacementMapSampler) 244
             257:             TypeSampledImage 233
             258:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 259 16 27 236 16 37 260 238 17
             266:             TypeMatrix 46(fvec4) 4
             268:             TypeBool
             270:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 269 14 21 16
             271:   268(bool) ConstantTrue
             267:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 47 18 271
             272:             TypeArray 46(fvec4) 15
             273:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 47 15
        274(UBO):             TypeStruct 266 266 46(fvec4) 272 8(float) 8(float) 42(fvec2) 8(float)
             277:     11(int) Constant 29
             278:     11(int) Constant 20
             275:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17
             279:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17
             282:     11(int) Constant 30
             283:     11(int) Constant 17
             280:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 281 47 27 282 283 16 16 17
             286:     11(int) Constant 22
             284:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 285 273 27 61 286 16 16 17
             289:     11(int) Constant 27
             287:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17
             290:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17
             293:     11(int) Constant 34
             291:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 292 43 27 293 278 16 16 17
             294:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17
             295:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 296 36 27 236 16 37 296 16 17 275 279 280 284 287 290 291 294
        297(ubo):             TypeStruct 274(UBO)
             298:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 299 295 27 73 73 16 16 17
             300:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 299 36 27 236 16 37 299 16 17 298
             301:             TypePointer Uniform 297(ubo)
             302:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 300 21 16
             303:    301(ptr) Variable Uniform
             304:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 300 27 236 16 37 2 303 244
             305:    124(int) Constant 4
             306:             TypePointer Uniform 8(float)
             307:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16
             317:     11(int) Constant 86
             318:             TypePointer Uniform 266
             319:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 267 21 16
             329:     11(int) Constant 89
             333:             TypePointer Uniform 46(fvec4)
             334:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 47 21 16
             337:     11(int) Constant 90
             345:    124(int) Constant 6
             348:     11(int) Constant 91
             351:    124(int) Constant 5
             354:     11(int) Constant 92
             362:     11(int) Constant 93
             367:             TypePointer Input 19
368(input.TessLevelOuter):    367(ptr) Variable Input
             369:             TypePointer Input 8(float)
             382:             TypePointer Input 22
383(input.TessLevelInner):    382(ptr) Variable Input
             391:             TypePointer Input 48(fvec3)
  392(TessCoord):    391(ptr) Variable Input
             397:             TypePointer Function 64
             399:             TypeArray 46(fvec4) 18
             400:             TypePointer Input 399
  401(patch.Pos):    400(ptr) Variable Input
             402:             TypePointer Input 46(fvec4)
             406:             TypeArray 48(fvec3) 18
             407:             TypePointer Input 406
408(patch.Normal):    407(ptr) Variable Input
             412:             TypeArray 42(fvec2) 18
             413:             TypePointer Input 412
   414(patch.UV):    413(ptr) Variable Input
             415:             TypePointer Input 42(fvec2)
             453:             TypePointer Output 46(fvec4)
454(@entryPointOutput.Pos):    453(ptr) Variable Output
             457:             TypePointer Output 48(fvec3)
458(@entryPointOutput.Normal):    457(ptr) Variable Output
             461:             TypePointer Output 42(fvec2)
462(@entryPointOutput.UV):    461(ptr) Variable Output
465(@entryPointOutput.ViewVec):    457(ptr) Variable Output
468(@entryPointOutput.LightVec):    457(ptr) Variable Output
471(@entryPointOutput.EyePos):    457(ptr) Variable Output
474(@entryPointOutput.WorldPos):    457(ptr) Variable Output
         6(main):           4 Function None 5
               7:             Label
      366(input):     39(ptr) Variable Function
  390(TessCoord):     44(ptr) Variable Function
      398(patch):    397(ptr) Variable Function
446(flattenTemp):    105(ptr) Variable Function
      448(param):     39(ptr) Variable Function
      450(param):     44(ptr) Variable Function
             370:    369(ptr) AccessChain 368(input.TessLevelOuter) 127
             371:    8(float) Load 370
             372:    132(ptr) AccessChain 366(input) 127 127
                              Store 372 371
             373:    369(ptr) AccessChain 368(input.TessLevelOuter) 130
             374:    8(float) Load 373
             375:    132(ptr) AccessChain 366(input) 127 130
                              Store 375 374
             376:    369(ptr) AccessChain 368(input.TessLevelOuter) 128
             377:    8(float) Load 376
             378:    132(ptr) AccessChain 366(input) 127 128
                              Store 378 377
             379:    369(ptr) AccessChain 368(input.TessLevelOuter) 144
             380:    8(float) Load 379
             381:    132(ptr) AccessChain 366(input) 127 144
                              Store 381 380
             384:    369(ptr) AccessChain 383(input.TessLevelInner) 127
             385:    8(float) Load 384
             386:    132(ptr) AccessChain 366(input) 130 127
                              Store 386 385
             387:    369(ptr) AccessChain 383(input.TessLevelInner) 130
             388:    8(float) Load 387
             389:    132(ptr) AccessChain 366(input) 130 130
                              Store 389 388
             393:   48(fvec3) Load 392(TessCoord)
             394:    8(float) CompositeExtract 393 0
             395:    8(float) CompositeExtract 393 1
             396:   42(fvec2) CompositeConstruct 394 395
                              Store 390(TessCoord) 396
             403:    402(ptr) AccessChain 401(patch.Pos) 127
             404:   46(fvec4) Load 403
             405:    195(ptr) AccessChain 398(patch) 127 127
                              Store 405 404
             409:    391(ptr) AccessChain 408(patch.Normal) 127
             410:   48(fvec3) Load 409
             411:    160(ptr) AccessChain 398(patch) 127 130
                              Store 411 410
             416:    415(ptr) AccessChain 414(patch.UV) 127
             417:   42(fvec2) Load 416
             418:     44(ptr) AccessChain 398(patch) 127 128
                              Store 418 417
             419:    402(ptr) AccessChain 401(patch.Pos) 130
             420:   46(fvec4) Load 419
             421:    195(ptr) AccessChain 398(patch) 130 127
                              Store 421 420
             422:    391(ptr) AccessChain 408(patch.Normal) 130
             423:   48(fvec3) Load 422
             424:    160(ptr) AccessChain 398(patch) 130 130
                              Store 424 423
             425:    415(ptr) AccessChain 414(patch.UV) 130
             426:   42(fvec2) Load 425
             427:     44(ptr) AccessChain 398(patch) 130 128
                              Store 427 426
             428:    402(ptr) AccessChain 401(patch.Pos) 128
             429:   46(fvec4) Load 428
             430:    195(ptr) AccessChain 398(patch) 128 127
                              Store 430 429
             431:    391(ptr) AccessChain 408(patch.Normal) 128
             432:   48(fvec3) Load 431
             433:    160(ptr) AccessChain 398(patch) 128 130
                              Store 433 432
             434:    415(ptr) AccessChain 414(patch.UV) 128
             435:   42(fvec2) Load 434
             436:     44(ptr) AccessChain 398(patch) 128 128
                              Store 436 435
             437:    402(ptr) AccessChain 401(patch.Pos) 144
             438:   46(fvec4) Load 437
             439:    195(ptr) AccessChain 398(patch) 144 127
                              Store 439 438
             440:    391(ptr) AccessChain 408(patch.Normal) 144
             441:   48(fvec3) Load 440
             442:    160(ptr) AccessChain 398(patch) 144 130
                              Store 442 441
             443:    415(ptr) AccessChain 414(patch.UV) 144
             444:   42(fvec2) Load 443
             445:     44(ptr) AccessChain 398(patch) 144 128
                              Store 445 444
             447:          64 Load 398(patch)
             449:24(ConstantsHSOutput) Load 366(input)
                              Store 448(param) 449
             451:   42(fvec2) Load 390(TessCoord)
                              Store 450(param) 451
             452:66(DSOutput) FunctionCall 87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 448(param) 450(param) 447
                              Store 446(flattenTemp) 452
             455:    195(ptr) AccessChain 446(flattenTemp) 127
             456:   46(fvec4) Load 455
                              Store 454(@entryPointOutput.Pos) 456
             459:    160(ptr) AccessChain 446(flattenTemp) 130
             460:   48(fvec3) Load 459
                              Store 458(@entryPointOutput.Normal) 460
             463:     44(ptr) AccessChain 446(flattenTemp) 128
             464:   42(fvec2) Load 463
                              Store 462(@entryPointOutput.UV) 464
             466:    160(ptr) AccessChain 446(flattenTemp) 144
             467:   48(fvec3) Load 466
                              Store 465(@entryPointOutput.ViewVec) 467
             469:    160(ptr) AccessChain 446(flattenTemp) 305
             470:   48(fvec3) Load 469
                              Store 468(@entryPointOutput.LightVec) 470
             472:    160(ptr) AccessChain 446(flattenTemp) 351
             473:   48(fvec3) Load 472
                              Store 471(@entryPointOutput.EyePos) 473
             475:    160(ptr) AccessChain 446(flattenTemp) 345
             476:   48(fvec3) Load 475
                              Store 474(@entryPointOutput.WorldPos) 476
                              Return
                              FunctionEnd
87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):66(DSOutput) Function None 82
       84(input):     39(ptr) FunctionParameter
   85(TessCoord):     44(ptr) FunctionParameter
       86(patch):          64 FunctionParameter
              88:             Label
     107(output):    105(ptr) Variable Function
        118(uv1):     44(ptr) Variable Function
        138(uv2):     44(ptr) Variable Function
         162(n1):    160(ptr) Variable Function
         174(n2):    160(ptr) Variable Function
       197(pos1):    195(ptr) Variable Function
       209(pos2):    195(ptr) Variable Function
        221(pos):    195(ptr) Variable Function
              96:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 90
              97:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 91 91 16 16
              94:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 84(input) 95
             100:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 85(TessCoord) 95
             103:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 86(patch) 95
             104:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 90 87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];)
             112:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 110 110 16 16
             111:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 107(output) 95
                              Store 107(output) 117
             123:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 121 121 16 16
             122:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 119 118(uv1) 95
             129:   42(fvec2) CompositeExtract 86(patch) 0 2
             131:   42(fvec2) CompositeExtract 86(patch) 1 2
             134:    132(ptr) AccessChain 85(TessCoord) 16
             135:    8(float) Load 134
             136:   42(fvec2) CompositeConstruct 135 135
             137:   42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 129 131 136
                              Store 118(uv1) 137
             143:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 141 141 16 16
             142:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 138(uv2) 95
             145:   42(fvec2) CompositeExtract 86(patch) 3 2
             146:   42(fvec2) CompositeExtract 86(patch) 2 2
             147:    132(ptr) AccessChain 85(TessCoord) 16
             148:    8(float) Load 147
             149:   42(fvec2) CompositeConstruct 148 148
             150:   42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 145 146 149
                              Store 138(uv2) 150
             152:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 153 153 16 16
             151:   42(fvec2) Load 118(uv1)
             154:   42(fvec2) Load 138(uv2)
             155:    132(ptr) AccessChain 85(TessCoord) 36
             156:    8(float) Load 155
             157:   42(fvec2) CompositeConstruct 156 156
             158:   42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 151 154 157
             159:     44(ptr) AccessChain 107(output) 128
                              Store 159 158
             167:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 165 165 16 16
             166:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(n1) 95
             168:   48(fvec3) CompositeExtract 86(patch) 0 1
             169:   48(fvec3) CompositeExtract 86(patch) 1 1
             170:    132(ptr) AccessChain 85(TessCoord) 16
             171:    8(float) Load 170
             172:   48(fvec3) CompositeConstruct 171 171 171
             173:   48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 168 169 172
                              Store 162(n1) 173
             179:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 177 177 16 16
             178:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 175 174(n2) 95
             180:   48(fvec3) CompositeExtract 86(patch) 3 1
             181:   48(fvec3) CompositeExtract 86(patch) 2 1
             182:    132(ptr) AccessChain 85(TessCoord) 16
             183:    8(float) Load 182
             184:   48(fvec3) CompositeConstruct 183 183 183
             185:   48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 180 181 184
                              Store 174(n2) 185
             187:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 188 188 16 16
             186:   48(fvec3) Load 162(n1)
             189:   48(fvec3) Load 174(n2)
             190:    132(ptr) AccessChain 85(TessCoord) 36
             191:    8(float) Load 190
             192:   48(fvec3) CompositeConstruct 191 191 191
             193:   48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 186 189 192
             194:    160(ptr) AccessChain 107(output) 130
                              Store 194 193
             202:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 200 200 16 16
             201:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 198 197(pos1) 95
             203:   46(fvec4) CompositeExtract 86(patch) 0 0
             204:   46(fvec4) CompositeExtract 86(patch) 1 0
             205:    132(ptr) AccessChain 85(TessCoord) 16
             206:    8(float) Load 205
             207:   46(fvec4) CompositeConstruct 206 206 206 206
             208:   46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 203 204 207
                              Store 197(pos1) 208
             214:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 212 212 16 16
             213:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 210 209(pos2) 95
             215:   46(fvec4) CompositeExtract 86(patch) 3 0
             216:   46(fvec4) CompositeExtract 86(patch) 2 0
             217:    132(ptr) AccessChain 85(TessCoord) 16
             218:    8(float) Load 217
             219:   46(fvec4) CompositeConstruct 218 218 218 218
             220:   46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 215 216 219
                              Store 209(pos2) 220
             226:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 224 224 16 16
             225:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 222 221(pos) 95
             227:   46(fvec4) Load 197(pos1)
             228:   46(fvec4) Load 209(pos2)
             229:    132(ptr) AccessChain 85(TessCoord) 36
             230:    8(float) Load 229
             231:   46(fvec4) CompositeConstruct 230 230 230 230
             232:   46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 227 228 231
                              Store 221(pos) 232
             246:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 236 236 16 16
             245:         233 Load 241(displacementMapTexture)
             256:         247 Load 253(displacementMapSampler)
             261:         257 SampledImage 245 256
             262:     44(ptr) AccessChain 107(output) 128
             263:   42(fvec2) Load 262
             264:   46(fvec4) ImageSampleExplicitLod 261 263 Lod 113
             265:    8(float) CompositeExtract 264 0
             308:    306(ptr) AccessChain 303 127 305
             309:    8(float) Load 308
             310:    8(float) FMul 265 309
             311:    132(ptr) AccessChain 221(pos) 36
             312:    8(float) Load 311
             313:    8(float) FSub 312 310
             314:    132(ptr) AccessChain 221(pos) 36
                              Store 314 313
             316:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 317 317 16 16
             315:   46(fvec4) Load 221(pos)
             320:    318(ptr) AccessChain 303 127 130
             321:         266 Load 320
             322:   46(fvec4) VectorTimesMatrix 315 321
             323:    318(ptr) AccessChain 303 127 127
             324:         266 Load 323
             325:   46(fvec4) VectorTimesMatrix 322 324
             326:    195(ptr) AccessChain 107(output) 127
                              Store 326 325
             328:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 329 329 16 16
             327:   46(fvec4) Load 221(pos)
             330:   48(fvec3) VectorShuffle 327 327 0 1 2
             331:   48(fvec3) FNegate 330
             332:    160(ptr) AccessChain 107(output) 144
                              Store 332 331
             336:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 337 337 16 16
             335:    333(ptr) AccessChain 303 127 128
             338:   46(fvec4) Load 335
             339:   48(fvec3) VectorShuffle 338 338 0 1 2
             340:    160(ptr) AccessChain 107(output) 144
             341:   48(fvec3) Load 340
             342:   48(fvec3) FAdd 339 341
             343:   48(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 342
             344:    160(ptr) AccessChain 107(output) 305
                              Store 344 343
             347:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 348 348 16 16
             346:   46(fvec4) Load 221(pos)
             349:   48(fvec3) VectorShuffle 346 346 0 1 2
             350:    160(ptr) AccessChain 107(output) 345
                              Store 350 349
             353:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 354 354 16 16
             352:   46(fvec4) Load 221(pos)
             355:    318(ptr) AccessChain 303 127 130
             356:         266 Load 355
             357:   46(fvec4) VectorTimesMatrix 352 356
             358:   48(fvec3) VectorShuffle 357 357 0 1 2
             359:    160(ptr) AccessChain 107(output) 351
                              Store 359 358
             361:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 362 362 16 16
             360:66(DSOutput) Load 107(output)
                              ReturnValue 360
                              FunctionEnd
