spv.debuginfo.glsl.tesc
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 457

                              Capability Tessellation
                              Extension  "SPV_KHR_non_semantic_info"
               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               2:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 13  "main" 230 234 259 325 335 415 427 435 447
                              ExecutionMode 13 OutputVertices 4
               8:             String  "uint"
              14:             String  "main"
              17:             String  ""
              24:             String  "float"
              34:             String  "screenSpaceTessFactor"
              40:             String  "p0"
              44:             String  "p1"
              47:             String  "bool"
              52:             String  "frustumCheck"
              58:             String  "midPoint"
              69:             String  "radius"
              79:             String  "v0"
              91:             String  "modelview"
              96:             String  "lightPos"
              99:             String  "frustumPlanes"
             101:             String  "tessellatedEdgeSize"
             106:             String  "viewportDim"
             110:             String  "UBO"
             114:             String  "ubo"
             116:             String  "int"
             126:             String  "clip0"
             146:             String  "clip1"
             209:             String  "pos"
             216:             String  "gl_Position"
             219:             String  "gl_PointSize"
             222:             String  "gl_CullDistance"
             226:             String  "gl_PerVertex"
             232:             String  "gl_in"
             236:             String  "gl_InvocationID"
             243:             String  "type.2d.image"
             245:             String  "@type.2d.image"
             249:             String  "type.sampled.image"
             250:             String  "@type.sampled.image"
             254:             String  "samplerHeight"
             261:             String  "inUV"
             278:             String  "i"
             327:             String  "gl_TessLevelInner"
             337:             String  "gl_TessLevelOuter"
             417:             String  "gl_out"
             429:             String  "outNormal"
             437:             String  "inNormal"
             449:             String  "outUV"
                              Name 13  "main"
                              Name 33  "screenSpaceTessFactor(vf4;vf4;"
                              Name 31  "p0"
                              Name 32  "p1"
                              Name 51  "frustumCheck("
                              Name 56  "midPoint"
                              Name 67  "radius"
                              Name 77  "v0"
                              Name 89  "UBO"
                              MemberName 89(UBO) 0  "projection"
                              MemberName 89(UBO) 1  "modelview"
                              MemberName 89(UBO) 2  "lightPos"
                              MemberName 89(UBO) 3  "frustumPlanes"
                              MemberName 89(UBO) 4  "displacementFactor"
                              MemberName 89(UBO) 5  "tessellationFactor"
                              MemberName 89(UBO) 6  "viewportDim"
                              MemberName 89(UBO) 7  "tessellatedEdgeSize"
                              Name 112  "ubo"
                              Name 124  "clip0"
                              Name 144  "clip1"
                              Name 207  "pos"
                              Name 214  "gl_PerVertex"
                              MemberName 214(gl_PerVertex) 0  "gl_Position"
                              MemberName 214(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 214(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 214(gl_PerVertex) 3  "gl_CullDistance"
                              Name 230  "gl_in"
                              Name 234  "gl_InvocationID"
                              Name 252  "samplerHeight"
                              Name 259  "inUV"
                              Name 276  "i"
                              Name 325  "gl_TessLevelInner"
                              Name 335  "gl_TessLevelOuter"
                              Name 351  "param"
                              Name 354  "param"
                              Name 359  "param"
                              Name 362  "param"
                              Name 367  "param"
                              Name 370  "param"
                              Name 375  "param"
                              Name 378  "param"
                              Name 402  "gl_PerVertex"
                              MemberName 402(gl_PerVertex) 0  "gl_Position"
                              MemberName 402(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 402(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 402(gl_PerVertex) 3  "gl_CullDistance"
                              Name 415  "gl_out"
                              Name 427  "outNormal"
                              Name 435  "inNormal"
                              Name 447  "outUV"
                              Decorate 85 ArrayStride 16
                              MemberDecorate 89(UBO) 0 ColMajor
                              MemberDecorate 89(UBO) 0 Offset 0
                              MemberDecorate 89(UBO) 0 MatrixStride 16
                              MemberDecorate 89(UBO) 1 ColMajor
                              MemberDecorate 89(UBO) 1 Offset 64
                              MemberDecorate 89(UBO) 1 MatrixStride 16
                              MemberDecorate 89(UBO) 2 Offset 128
                              MemberDecorate 89(UBO) 3 Offset 144
                              MemberDecorate 89(UBO) 4 Offset 240
                              MemberDecorate 89(UBO) 5 Offset 244
                              MemberDecorate 89(UBO) 6 Offset 248
                              MemberDecorate 89(UBO) 7 Offset 256
                              Decorate 89(UBO) Block
                              Decorate 112(ubo) DescriptorSet 0
                              Decorate 112(ubo) Binding 0
                              MemberDecorate 214(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 214(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 214(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 214(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 214(gl_PerVertex) Block
                              Decorate 234(gl_InvocationID) BuiltIn InvocationId
                              Decorate 252(samplerHeight) DescriptorSet 0
                              Decorate 252(samplerHeight) Binding 1
                              Decorate 259(inUV) Location 1
                              Decorate 325(gl_TessLevelInner) Patch
                              Decorate 325(gl_TessLevelInner) BuiltIn TessLevelInner
                              Decorate 335(gl_TessLevelOuter) Patch
                              Decorate 335(gl_TessLevelOuter) BuiltIn TessLevelOuter
                              MemberDecorate 402(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 402(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 402(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 402(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 402(gl_PerVertex) Block
                              Decorate 427(outNormal) Location 0
                              Decorate 435(inNormal) Location 0
                              Decorate 447(outUV) Location 1
               3:             TypeVoid
               4:             TypeFunction 3
               6:             TypeInt 32 0
               9:      6(int) Constant 32
              10:      6(int) Constant 6
              11:      6(int) Constant 0
               7:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 8 9 10 11
              12:      6(int) Constant 3
               5:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 3
              16:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 17
              19:      6(int) Constant 1
              20:      6(int) Constant 4
              21:      6(int) Constant 2
              18:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 19 20 16 21
              15:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 14 5 16 11 11 18 14 12 11
              23:             TypeFloat 32
              25:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 24 9 12 11
              26:             TypeVector 23(float) 4
              27:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 20
              28:             TypePointer Function 26(fvec4)
              29:             TypeFunction 23(float) 28(ptr) 28(ptr)
              30:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 25 27 27
              35:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 34 30 16 11 11 18 34 12 11
              39:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 40 27 16 11 11 35 20 19
              42:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
              43:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 44 27 16 11 11 35 20 21
              46:             TypeBool
              48:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
              49:             TypeFunction 46(bool)
              50:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 12 48
              53:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 52 50 16 11 11 18 52 12 11
              59:      6(int) Constant 54
              57:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 58 27 16 59 11 35 20
              61:   23(float) Constant 1056964608
              66:             TypePointer Function 23(float)
              70:      6(int) Constant 56
              68:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 69 25 16 70 11 35 20
              75:   23(float) Constant 1073741824
              80:      6(int) Constant 59
              78:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 79 27 16 80 11 35 20
              82:             TypeMatrix 26(fvec4) 4
              84:    46(bool) ConstantTrue
              83:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 27 20 84
              85:             TypeArray 26(fvec4) 10
              86:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 27 10
              87:             TypeVector 23(float) 2
              88:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 21
         89(UBO):             TypeStruct 82 82 26(fvec4) 85 23(float) 23(float) 87(fvec2) 23(float)
              92:      6(int) Constant 30
              93:      6(int) Constant 7
              90:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 91 83 16 92 93 11 11 12
              94:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 91 83 16 92 93 11 11 12
              97:      6(int) Constant 31
              95:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 96 27 16 97 93 11 11 12
              98:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 99 86 16 9 93 11 11 12
             102:      6(int) Constant 36
             103:      6(int) Constant 8
             100:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 101 25 16 102 103 11 11 12
             104:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 101 25 16 102 103 11 11 12
             107:      6(int) Constant 35
             105:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 106 88 16 107 93 11 11 12
             108:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 101 25 16 102 103 11 11 12
             109:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 110 19 16 80 11 18 110 11 12 90 94 95 98 100 104 105 108
             111:             TypePointer Uniform 89(UBO)
        112(ubo):    111(ptr) Variable Uniform
             113:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 114 109 16 80 11 18 114 112(ubo) 103
             115:             TypeInt 32 1
             117:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 116 9 20 11
             118:    115(int) Constant 1
             119:             TypePointer Uniform 82
             127:      6(int) Constant 62
             125:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 126 27 16 127 11 35 20
             129:    115(int) Constant 0
             134:             TypeVector 23(float) 3
             135:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 25 12
             136:   23(float) Constant 0
             137:  134(fvec3) ConstantComposite 136 136 136
             147:      6(int) Constant 63
             145:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 146 27 16 147 11 35 20
             169:    115(int) Constant 6
             170:             TypePointer Uniform 87(fvec2)
             192:    115(int) Constant 7
             193:             TypePointer Uniform 23(float)
             197:    115(int) Constant 5
             201:   23(float) Constant 1065353216
             202:   23(float) Constant 1115684864
             210:      6(int) Constant 85
             208:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 209 27 16 210 11 53 20
             212:             TypeArray 23(float) 19
             213:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 25 19
214(gl_PerVertex):             TypeStruct 26(fvec4) 23(float) 212 212
             217:      6(int) Constant 1756
             215:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 216 27 16 19 217 11 11 12
             220:      6(int) Constant 1774
             218:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 219 25 16 19 220 11 11 12
             223:      6(int) Constant 1817
             221:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 223 11 11 12
             224:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 223 11 11 12
             225:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 226 19 16 210 11 18 226 11 12 215 218 221 224
             227:             TypeArray 214(gl_PerVertex) 9
             228:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 225 9
             229:             TypePointer Input 227
      230(gl_in):    229(ptr) Variable Input
             231:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 232 228 16 210 11 18 232 230(gl_in) 103
             233:             TypePointer Input 115(int)
234(gl_InvocationID):    233(ptr) Variable Input
             235:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 236 117 16 210 11 18 236 234(gl_InvocationID) 103
             238:             TypePointer Input 26(fvec4)
             241:             TypeImage 23(float) 2D sampled format:Unknown
             244:      6(int) Constant 86
             246:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(Unknown)
             242:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 243 11 16 244 11 18 245 246 12
             247:             TypeSampledImage 241
             248:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 249 11 16 244 11 18 250 246 12
             251:             TypePointer UniformConstant 247
252(samplerHeight):    251(ptr) Variable UniformConstant
             253:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 254 248 16 244 11 18 254 252(samplerHeight) 103
             256:             TypeArray 87(fvec2) 9
             257:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 88 9
             258:             TypePointer Input 256
       259(inUV):    258(ptr) Variable Input
             260:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 261 257 16 244 11 18 261 259(inUV) 103
             262:             TypePointer Input 87(fvec2)
             267:    115(int) Constant 4
             275:             TypePointer Function 115(int)
             279:      6(int) Constant 89
             277:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 278 117 16 279 11 53 20
             287:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             290:    115(int) Constant 3
             292:             TypePointer Uniform 26(fvec4)
             296:   23(float) Constant 1090519040
             298:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             302:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             303:    46(bool) ConstantFalse
             307:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             312:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             317:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             318:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
             322:             TypeArray 23(float) 21
             323:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 25 21
             324:             TypePointer Output 322
325(gl_TessLevelInner):    324(ptr) Variable Output
             328:      6(int) Constant 104
             326:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 327 323 16 328 11 18 327 325(gl_TessLevelInner) 103
             329:             TypePointer Output 23(float)
             332:             TypeArray 23(float) 20
             333:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 25 20
             334:             TypePointer Output 332
335(gl_TessLevelOuter):    334(ptr) Variable Output
             338:      6(int) Constant 106
             336:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 337 333 16 338 11 18 337 335(gl_TessLevelOuter) 103
             341:    115(int) Constant 2
             347:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 21 11
402(gl_PerVertex):             TypeStruct 26(fvec4) 23(float) 212 212
             404:      6(int) Constant 110
             403:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 216 27 16 19 404 11 11 12
             406:      6(int) Constant 128
             405:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 219 25 16 19 406 11 11 12
             408:      6(int) Constant 171
             407:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 408 11 11 12
             409:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 222 213 16 19 408 11 11 12
             411:      6(int) Constant 137
             410:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 226 19 16 411 11 18 226 11 12 403 405 407 409
             412:             TypeArray 402(gl_PerVertex) 20
             413:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 410 20
             414:             TypePointer Output 412
     415(gl_out):    414(ptr) Variable Output
             416:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 417 413 16 411 11 18 417 415(gl_out) 103
             422:             TypePointer Output 26(fvec4)
             424:             TypeArray 134(fvec3) 20
             425:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 135 20
             426:             TypePointer Output 424
  427(outNormal):    426(ptr) Variable Output
             430:      6(int) Constant 138
             428:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 429 425 16 430 11 18 429 427(outNormal) 103
             432:             TypeArray 134(fvec3) 9
             433:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 135 9
             434:             TypePointer Input 432
   435(inNormal):    434(ptr) Variable Input
             436:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 437 433 16 430 11 18 437 435(inNormal) 103
             439:             TypePointer Input 134(fvec3)
             442:             TypePointer Output 134(fvec3)
             444:             TypeArray 87(fvec2) 20
             445:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 88 20
             446:             TypePointer Output 444
      447(outUV):    446(ptr) Variable Output
             450:      6(int) Constant 139
             448:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 449 445 16 450 11 18 449 447(outUV) 103
             455:             TypePointer Output 87(fvec2)
        13(main):           3 Function None 4
              22:             Label
      351(param):     28(ptr) Variable Function
      354(param):     28(ptr) Variable Function
      359(param):     28(ptr) Variable Function
      362(param):     28(ptr) Variable Function
      367(param):     28(ptr) Variable Function
      370(param):     28(ptr) Variable Function
      375(param):     28(ptr) Variable Function
      378(param):     28(ptr) Variable Function
             310:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
             311:    115(int) Load 234(gl_InvocationID)
             313:    46(bool) IEqual 311 129
                              SelectionMerge 315 None
                              BranchConditional 313 314 315
             314:               Label
             316:    46(bool)   FunctionCall 51(frustumCheck()
             319:    46(bool)   LogicalNot 316
                                SelectionMerge 321 None
                                BranchConditional 319 320 344
             320:                 Label
             330:    329(ptr)     AccessChain 325(gl_TessLevelInner) 129
                                  Store 330 136
             331:    329(ptr)     AccessChain 325(gl_TessLevelInner) 118
                                  Store 331 136
             339:    329(ptr)     AccessChain 335(gl_TessLevelOuter) 129
                                  Store 339 136
             340:    329(ptr)     AccessChain 335(gl_TessLevelOuter) 118
                                  Store 340 136
             342:    329(ptr)     AccessChain 335(gl_TessLevelOuter) 341
                                  Store 342 136
             343:    329(ptr)     AccessChain 335(gl_TessLevelOuter) 290
                                  Store 343 136
                                  Branch 321
             344:                 Label
             345:    193(ptr)     AccessChain 112(ubo) 197
             346:   23(float)     Load 345
             348:    46(bool)     FOrdGreaterThan 346 136
                                  SelectionMerge 350 None
                                  BranchConditional 348 349 395
             349:                   Label
             352:    238(ptr)       AccessChain 230(gl_in) 290 129
             353:   26(fvec4)       Load 352
                                    Store 351(param) 353
             355:    238(ptr)       AccessChain 230(gl_in) 129 129
             356:   26(fvec4)       Load 355
                                    Store 354(param) 356
             357:   23(float)       FunctionCall 33(screenSpaceTessFactor(vf4;vf4;) 351(param) 354(param)
             358:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 129
                                    Store 358 357
             360:    238(ptr)       AccessChain 230(gl_in) 129 129
             361:   26(fvec4)       Load 360
                                    Store 359(param) 361
             363:    238(ptr)       AccessChain 230(gl_in) 118 129
             364:   26(fvec4)       Load 363
                                    Store 362(param) 364
             365:   23(float)       FunctionCall 33(screenSpaceTessFactor(vf4;vf4;) 359(param) 362(param)
             366:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 118
                                    Store 366 365
             368:    238(ptr)       AccessChain 230(gl_in) 118 129
             369:   26(fvec4)       Load 368
                                    Store 367(param) 369
             371:    238(ptr)       AccessChain 230(gl_in) 341 129
             372:   26(fvec4)       Load 371
                                    Store 370(param) 372
             373:   23(float)       FunctionCall 33(screenSpaceTessFactor(vf4;vf4;) 367(param) 370(param)
             374:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 341
                                    Store 374 373
             376:    238(ptr)       AccessChain 230(gl_in) 341 129
             377:   26(fvec4)       Load 376
                                    Store 375(param) 377
             379:    238(ptr)       AccessChain 230(gl_in) 290 129
             380:   26(fvec4)       Load 379
                                    Store 378(param) 380
             381:   23(float)       FunctionCall 33(screenSpaceTessFactor(vf4;vf4;) 375(param) 378(param)
             382:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 290
                                    Store 382 381
             383:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 129
             384:   23(float)       Load 383
             385:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 290
             386:   23(float)       Load 385
             387:   23(float)       ExtInst 2(GLSL.std.450) 46(FMix) 384 386 61
             388:    329(ptr)       AccessChain 325(gl_TessLevelInner) 129
                                    Store 388 387
             389:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 341
             390:   23(float)       Load 389
             391:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 118
             392:   23(float)       Load 391
             393:   23(float)       ExtInst 2(GLSL.std.450) 46(FMix) 390 392 61
             394:    329(ptr)       AccessChain 325(gl_TessLevelInner) 118
                                    Store 394 393
                                    Branch 350
             395:                   Label
             396:    329(ptr)       AccessChain 325(gl_TessLevelInner) 129
                                    Store 396 201
             397:    329(ptr)       AccessChain 325(gl_TessLevelInner) 118
                                    Store 397 201
             398:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 129
                                    Store 398 201
             399:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 118
                                    Store 399 201
             400:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 341
                                    Store 400 201
             401:    329(ptr)       AccessChain 335(gl_TessLevelOuter) 290
                                    Store 401 201
                                    Branch 350
             350:                 Label
                                  Branch 321
             321:               Label
                                Branch 315
             315:             Label
             418:    115(int) Load 234(gl_InvocationID)
             419:    115(int) Load 234(gl_InvocationID)
             420:    238(ptr) AccessChain 230(gl_in) 419 129
             421:   26(fvec4) Load 420
             423:    422(ptr) AccessChain 415(gl_out) 418 129
                              Store 423 421
             431:    115(int) Load 234(gl_InvocationID)
             438:    115(int) Load 234(gl_InvocationID)
             440:    439(ptr) AccessChain 435(inNormal) 438
             441:  134(fvec3) Load 440
             443:    442(ptr) AccessChain 427(outNormal) 431
                              Store 443 441
             451:    115(int) Load 234(gl_InvocationID)
             452:    115(int) Load 234(gl_InvocationID)
             453:    262(ptr) AccessChain 259(inUV) 452
             454:   87(fvec2) Load 453
             456:    455(ptr) AccessChain 447(outUV) 451
                              Store 456 454
                              Return
                              FunctionEnd
33(screenSpaceTessFactor(vf4;vf4;):   23(float) Function None 29
          31(p0):     28(ptr) FunctionParameter
          32(p1):     28(ptr) FunctionParameter
              36:             Label
    56(midPoint):     28(ptr) Variable Function
      67(radius):     66(ptr) Variable Function
          77(v0):     28(ptr) Variable Function
      124(clip0):     28(ptr) Variable Function
      144(clip1):     28(ptr) Variable Function
              37:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 35
              38:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 16 11 11 11 11
              41:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 39 31(p0) 42
              45:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 43 32(p1) 42
              55:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 35 33(screenSpaceTessFactor(vf4;vf4;)
              60:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 57 56(midPoint) 42
              62:   26(fvec4) Load 31(p0)
              63:   26(fvec4) Load 32(p1)
              64:   26(fvec4) FAdd 62 63
              65:   26(fvec4) VectorTimesScalar 64 61
                              Store 56(midPoint) 65
              71:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 68 67(radius) 42
              72:   26(fvec4) Load 31(p0)
              73:   26(fvec4) Load 32(p1)
              74:   23(float) ExtInst 2(GLSL.std.450) 67(Distance) 72 73
              76:   23(float) FDiv 74 75
                              Store 67(radius) 76
              81:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 78 77(v0) 42
             120:    119(ptr) AccessChain 112(ubo) 118
             121:          82 Load 120
             122:   26(fvec4) Load 56(midPoint)
             123:   26(fvec4) MatrixTimesVector 121 122
                              Store 77(v0) 123
             128:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 125 124(clip0) 42
             130:    119(ptr) AccessChain 112(ubo) 129
             131:          82 Load 130
             132:   26(fvec4) Load 77(v0)
             133:   23(float) Load 67(radius)
             138:   23(float) CompositeExtract 137 0
             139:   23(float) CompositeExtract 137 1
             140:   23(float) CompositeExtract 137 2
             141:   26(fvec4) CompositeConstruct 133 138 139 140
             142:   26(fvec4) FSub 132 141
             143:   26(fvec4) MatrixTimesVector 131 142
                              Store 124(clip0) 143
             148:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 145 144(clip1) 42
             149:    119(ptr) AccessChain 112(ubo) 129
             150:          82 Load 149
             151:   26(fvec4) Load 77(v0)
             152:   23(float) Load 67(radius)
             153:   23(float) CompositeExtract 137 0
             154:   23(float) CompositeExtract 137 1
             155:   23(float) CompositeExtract 137 2
             156:   26(fvec4) CompositeConstruct 152 153 154 155
             157:   26(fvec4) FAdd 151 156
             158:   26(fvec4) MatrixTimesVector 150 157
                              Store 144(clip1) 158
             159:     66(ptr) AccessChain 124(clip0) 12
             160:   23(float) Load 159
             161:   26(fvec4) Load 124(clip0)
             162:   26(fvec4) CompositeConstruct 160 160 160 160
             163:   26(fvec4) FDiv 161 162
                              Store 124(clip0) 163
             164:     66(ptr) AccessChain 144(clip1) 12
             165:   23(float) Load 164
             166:   26(fvec4) Load 144(clip1)
             167:   26(fvec4) CompositeConstruct 165 165 165 165
             168:   26(fvec4) FDiv 166 167
                              Store 144(clip1) 168
             171:    170(ptr) AccessChain 112(ubo) 169
             172:   87(fvec2) Load 171
             173:   26(fvec4) Load 124(clip0)
             174:   87(fvec2) VectorShuffle 173 173 0 1
             175:   87(fvec2) FMul 174 172
             176:     66(ptr) AccessChain 124(clip0) 11
             177:   23(float) CompositeExtract 175 0
                              Store 176 177
             178:     66(ptr) AccessChain 124(clip0) 19
             179:   23(float) CompositeExtract 175 1
                              Store 178 179
             180:    170(ptr) AccessChain 112(ubo) 169
             181:   87(fvec2) Load 180
             182:   26(fvec4) Load 144(clip1)
             183:   87(fvec2) VectorShuffle 182 182 0 1
             184:   87(fvec2) FMul 183 181
             185:     66(ptr) AccessChain 144(clip1) 11
             186:   23(float) CompositeExtract 184 0
                              Store 185 186
             187:     66(ptr) AccessChain 144(clip1) 19
             188:   23(float) CompositeExtract 184 1
                              Store 187 188
             189:   26(fvec4) Load 124(clip0)
             190:   26(fvec4) Load 144(clip1)
             191:   23(float) ExtInst 2(GLSL.std.450) 67(Distance) 189 190
             194:    193(ptr) AccessChain 112(ubo) 192
             195:   23(float) Load 194
             196:   23(float) FDiv 191 195
             198:    193(ptr) AccessChain 112(ubo) 197
             199:   23(float) Load 198
             200:   23(float) FMul 196 199
             203:   23(float) ExtInst 2(GLSL.std.450) 43(FClamp) 200 201 202
                              ReturnValue 203
                              FunctionEnd
51(frustumCheck():    46(bool) Function None 49
              54:             Label
        207(pos):     28(ptr) Variable Function
          276(i):    275(ptr) Variable Function
             206:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 53 51(frustumCheck()
             211:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 208 207(pos) 42
             237:    115(int) Load 234(gl_InvocationID)
             239:    238(ptr) AccessChain 230(gl_in) 237 129
             240:   26(fvec4) Load 239
                              Store 207(pos) 240
             255:         247 Load 252(samplerHeight)
             263:    262(ptr) AccessChain 259(inUV) 129
             264:   87(fvec2) Load 263
             265:   26(fvec4) ImageSampleExplicitLod 255 264 Lod 136
             266:   23(float) CompositeExtract 265 0
             268:    193(ptr) AccessChain 112(ubo) 267
             269:   23(float) Load 268
             270:   23(float) FMul 266 269
             271:     66(ptr) AccessChain 207(pos) 19
             272:   23(float) Load 271
             273:   23(float) FSub 272 270
             274:     66(ptr) AccessChain 207(pos) 19
                              Store 274 273
             280:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 277 276(i) 42
                              Store 276(i) 129
                              Branch 281
             281:             Label
                              LoopMerge 283 284 None
                              Branch 285
             285:             Label
             286:    115(int) Load 276(i)
             288:    46(bool) SLessThan 286 169
                              BranchConditional 288 282 283
             282:               Label
             289:   26(fvec4)   Load 207(pos)
             291:    115(int)   Load 276(i)
             293:    292(ptr)   AccessChain 112(ubo) 290 291
             294:   26(fvec4)   Load 293
             295:   23(float)   Dot 289 294
             297:   23(float)   FAdd 295 296
             299:    46(bool)   FOrdLessThan 297 136
                                SelectionMerge 301 None
                                BranchConditional 299 300 301
             300:                 Label
                                  ReturnValue 303
             301:               Label
                                Branch 284
             284:               Label
             305:    115(int)   Load 276(i)
             306:    115(int)   IAdd 305 118
                                Store 276(i) 306
                                Branch 281
             283:             Label
                              ReturnValue 84
                              FunctionEnd
