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

                              Capability Geometry
                              Capability MultiViewport
                              Extension  "SPV_KHR_non_semantic_info"
               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               3:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 6  "main" 264 273 278 285 290 295 300 315 322 327 351 354
                              ExecutionMode 6 Triangles
                              ExecutionMode 6 Invocations 2
                              ExecutionMode 6 OutputTriangleStrip
                              ExecutionMode 6 OutputVertices 3
               2:             String  ""
               9:             String  "float"
              12:             String  "uint"
              25:             String  "Pos"
              27:             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
"
              31:             String  "Color"
              36:             String  "VSOutput"
              49:             String  "PrimitiveID"
              54:             String  "LightVec"
              60:             String  "GSOutput"
              73:             String  "@main"
              77:             String  "input"
              83:             String  "outStream"
              87:             String  "InvocationID"
              93:             String  "int"
              99:             String  "i"
             116:             String  "bool"
             121:             String  "output"
             147:             String  "projection"
             151:             String  "modelview"
             155:             String  "lightPos"
             159:             String  "UBO"
             162:             String  "ubo"
             198:             String  "pos"
             207:             String  "worldPos"
             218:             String  "lPos"
             266:             String  "outStream.Pos"
             275:             String  "outStream.ViewportIndex"
             280:             String  "outStream.PrimitiveID"
             287:             String  "outStream.Normal"
             292:             String  "outStream.Color"
             297:             String  "outStream.ViewVec"
             302:             String  "outStream.LightVec"
                              Name 6  "main"
                              Name 23  "VSOutput"
                              MemberName 23(VSOutput) 0  "Pos"
                              MemberName 23(VSOutput) 1  "Normal"
                              MemberName 23(VSOutput) 2  "Color"
                              Name 45  "GSOutput"
                              MemberName 45(GSOutput) 0  "Pos"
                              MemberName 45(GSOutput) 1  "ViewportIndex"
                              MemberName 45(GSOutput) 2  "PrimitiveID"
                              MemberName 45(GSOutput) 3  "Normal"
                              MemberName 45(GSOutput) 4  "Color"
                              MemberName 45(GSOutput) 5  "ViewVec"
                              MemberName 45(GSOutput) 6  "LightVec"
                              Name 71  "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;"
                              Name 67  "input"
                              Name 68  "outStream"
                              Name 69  "InvocationID"
                              Name 70  "PrimitiveID"
                              Name 97  "i"
                              Name 119  "output"
                              Name 145  "UBO"
                              MemberName 145(UBO) 0  "projection"
                              MemberName 145(UBO) 1  "modelview"
                              MemberName 145(UBO) 2  "lightPos"
                              Name 160  "ubo"
                              MemberName 160(ubo) 0  "ubo"
                              Name 167  ""
                              Name 196  "pos"
                              Name 205  "worldPos"
                              Name 216  "lPos"
                              Name 264  "outStream.Pos"
                              Name 273  "outStream.ViewportIndex"
                              Name 278  "outStream.PrimitiveID"
                              Name 285  "outStream.Normal"
                              Name 290  "outStream.Color"
                              Name 295  "outStream.ViewVec"
                              Name 300  "outStream.LightVec"
                              Name 312  "input"
                              Name 315  "input.Pos"
                              Name 322  "input.Normal"
                              Name 327  "input.Color"
                              Name 349  "InvocationID"
                              Name 351  "InvocationID"
                              Name 353  "PrimitiveID"
                              Name 354  "PrimitiveID"
                              Name 356  "outStream"
                              Name 357  "param"
                              Name 359  "param"
                              Name 360  "param"
                              Name 362  "param"
                              Decorate 141 ArrayStride 64
                              Decorate 143 ArrayStride 64
                              MemberDecorate 145(UBO) 0 RowMajor
                              MemberDecorate 145(UBO) 0 Offset 0
                              MemberDecorate 145(UBO) 0 MatrixStride 16
                              MemberDecorate 145(UBO) 1 RowMajor
                              MemberDecorate 145(UBO) 1 Offset 128
                              MemberDecorate 145(UBO) 1 MatrixStride 16
                              MemberDecorate 145(UBO) 2 Offset 256
                              MemberDecorate 160(ubo) 0 Offset 0
                              Decorate 160(ubo) Block
                              Decorate 167 DescriptorSet 0
                              Decorate 167 Binding 0
                              Decorate 264(outStream.Pos) BuiltIn Position
                              Decorate 273(outStream.ViewportIndex) BuiltIn ViewportIndex
                              Decorate 278(outStream.PrimitiveID) BuiltIn PrimitiveId
                              Decorate 285(outStream.Normal) Location 0
                              Decorate 290(outStream.Color) Location 1
                              Decorate 295(outStream.ViewVec) Location 2
                              Decorate 300(outStream.LightVec) Location 3
                              Decorate 315(input.Pos) BuiltIn Position
                              Decorate 322(input.Normal) Location 0
                              Decorate 327(input.Color) Location 1
                              Decorate 351(InvocationID) BuiltIn InvocationId
                              Decorate 354(PrimitiveID) BuiltIn PrimitiveId
               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:             TypeVector 8(float) 3
              22:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17
    23(VSOutput):             TypeStruct 18(fvec4) 21(fvec3) 21(fvec3)
              26:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 27
              28:     11(int) Constant 37
              29:     11(int) Constant 13
              24:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 28 29 16 16 17
              32:     11(int) Constant 39
              33:     11(int) Constant 34
              30:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17
              34:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17
              37:     11(int) Constant 1
              39:     11(int) Constant 5
              38:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 19 26 39
              35:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 36 37 26 16 16 38 36 16 17 24 30 34
              40:             TypeArray 23(VSOutput) 17
              41:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 35 17
              42:             TypePointer Function 40
              43:     11(int) Constant 7
              44:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 41 43 16
    45(GSOutput):             TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3)
              47:     11(int) Constant 44
              46:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 47 29 16 16 17
              50:     11(int) Constant 46
              51:     11(int) Constant 19
              48:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 49 13 26 50 51 16 16 17
              52:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 49 13 26 50 51 16 16 17
              55:     11(int) Constant 50
              53:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17
              56:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17
              57:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17
              58:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17
              59:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 60 37 26 16 16 38 60 16 17 46 48 52 53 56 57 58
              61:             TypePointer Function 45(GSOutput)
              62:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 43 16
              63:             TypePointer Function 11(int)
              64:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 43 16
              65:             TypeFunction 4 42(ptr) 61(ptr) 63(ptr) 63(ptr)
              66:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 41 59 13 13
              75:     11(int) Constant 56
              74:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 73 66 26 75 16 38 73 17 75
              76:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 41 26 75 16 74 19 37
              79:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
              84:     11(int) Constant 2
              82:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 59 26 75 16 74 19 84
              86:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 75 16 74 19 17
              89:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 13 26 75 16 74 19 19
              92:             TypeInt 32 1
              94:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 93 14 19 16
              95:             TypePointer Function 92(int)
              96:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 94 43 16
             100:     11(int) Constant 57
              98:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 94 26 100 16 74 19
             103:     92(int) Constant 0
             114:     92(int) Constant 3
             115:             TypeBool
             117:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 116 14 84 16
             122:     11(int) Constant 59
             120:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 121 59 26 122 16 74 19
             126:    8(float) Constant 0
             127:   18(fvec4) ConstantComposite 126 126 126 126
             128:   21(fvec3) ConstantComposite 126 126 126
             129:45(GSOutput) ConstantComposite 127 16 16 128 128 128 128
             132:     11(int) Constant 60
             133:     92(int) Constant 1
             134:             TypePointer Function 21(fvec3)
             135:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 43 16
             138:             TypeMatrix 18(fvec4) 4
             140:   115(bool) ConstantTrue
             139:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 140
             141:             TypeArray 138 84
             142:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84
             143:             TypeArray 138 84
             144:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84
        145(UBO):             TypeStruct 141 143 18(fvec4)
             148:     11(int) Constant 28
             149:     11(int) Constant 21
             146:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 142 26 148 149 16 16 17
             152:     11(int) Constant 29
             153:     11(int) Constant 20
             150:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 151 144 26 152 153 16 16 17
             156:     11(int) Constant 30
             157:     11(int) Constant 17
             154:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 20 26 156 157 16 16 17
             158:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 37 26 132 16 38 159 16 17 146 150 154
        160(ubo):             TypeStruct 145(UBO)
             163:     11(int) Constant 33
             161:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 162 158 26 163 28 16 16 17
             164:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 37 26 132 16 38 162 16 17 161
             165:             TypePointer Uniform 160(ubo)
             166:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 84 16
             167:    165(ptr) Variable Uniform
             169:     11(int) Constant 8
             168:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 164 26 132 16 38 2 167 169
             171:             TypePointer Uniform 138
             172:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 139 84 16
             175:             TypeMatrix 21(fvec3) 3
             176:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 140
             186:     92(int) Constant 4
             189:     11(int) Constant 61
             190:     92(int) Constant 2
             194:             TypePointer Function 18(fvec4)
             195:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 43 16
             199:     11(int) Constant 63
             197:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 20 26 199 16 74 19
             208:     11(int) Constant 64
             206:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 20 26 208 16 74 19
             219:     11(int) Constant 66
             217:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 22 26 219 16 74 19
             222:             TypePointer Uniform 18(fvec4)
             223:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16
             231:     92(int) Constant 6
             234:     11(int) Constant 67
             239:     92(int) Constant 5
             242:     11(int) Constant 68
             248:     11(int) Constant 70
             256:     11(int) Constant 73
             260:     11(int) Constant 74
             262:             TypePointer Output 18(fvec4)
             263:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16
264(outStream.Pos):    262(ptr) Variable Output
             267:     11(int) Constant 75
             265:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 20 26 267 16 38 266 264(outStream.Pos) 169
             271:             TypePointer Output 11(int)
             272:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16
273(outStream.ViewportIndex):    271(ptr) Variable Output
             274:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 13 26 267 16 38 275 273(outStream.ViewportIndex) 169
278(outStream.PrimitiveID):    271(ptr) Variable Output
             279:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 280 13 26 267 16 38 280 278(outStream.PrimitiveID) 169
             283:             TypePointer Output 21(fvec3)
             284:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16
285(outStream.Normal):    283(ptr) Variable Output
             286:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 22 26 267 16 38 287 285(outStream.Normal) 169
290(outStream.Color):    283(ptr) Variable Output
             291:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 292 22 26 267 16 38 292 290(outStream.Color) 169
295(outStream.ViewVec):    283(ptr) Variable Output
             296:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 297 22 26 267 16 38 297 295(outStream.ViewVec) 169
300(outStream.LightVec):    283(ptr) Variable Output
             301:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 22 26 267 16 38 302 300(outStream.LightVec) 169
             311:     11(int) Constant 78
             313:             TypeArray 18(fvec4) 17
             314:             TypePointer Input 313
  315(input.Pos):    314(ptr) Variable Input
             316:             TypePointer Input 18(fvec4)
             320:             TypeArray 21(fvec3) 17
             321:             TypePointer Input 320
322(input.Normal):    321(ptr) Variable Input
             323:             TypePointer Input 21(fvec3)
327(input.Color):    321(ptr) Variable Input
             350:             TypePointer Input 11(int)
351(InvocationID):    350(ptr) Variable Input
354(PrimitiveID):    350(ptr) Variable Input
         6(main):           4 Function None 5
               7:             Label
      312(input):     42(ptr) Variable Function
349(InvocationID):     63(ptr) Variable Function
353(PrimitiveID):     63(ptr) Variable Function
  356(outStream):     61(ptr) Variable Function
      357(param):     42(ptr) Variable Function
      359(param):     61(ptr) Variable Function
      360(param):     63(ptr) Variable Function
      362(param):     63(ptr) Variable Function
             317:    316(ptr) AccessChain 315(input.Pos) 103
             318:   18(fvec4) Load 317
             319:    194(ptr) AccessChain 312(input) 103 103
                              Store 319 318
             324:    323(ptr) AccessChain 322(input.Normal) 103
             325:   21(fvec3) Load 324
             326:    134(ptr) AccessChain 312(input) 103 133
                              Store 326 325
             328:    323(ptr) AccessChain 327(input.Color) 103
             329:   21(fvec3) Load 328
             330:    134(ptr) AccessChain 312(input) 103 190
                              Store 330 329
             331:    316(ptr) AccessChain 315(input.Pos) 133
             332:   18(fvec4) Load 331
             333:    194(ptr) AccessChain 312(input) 133 103
                              Store 333 332
             334:    323(ptr) AccessChain 322(input.Normal) 133
             335:   21(fvec3) Load 334
             336:    134(ptr) AccessChain 312(input) 133 133
                              Store 336 335
             337:    323(ptr) AccessChain 327(input.Color) 133
             338:   21(fvec3) Load 337
             339:    134(ptr) AccessChain 312(input) 133 190
                              Store 339 338
             340:    316(ptr) AccessChain 315(input.Pos) 190
             341:   18(fvec4) Load 340
             342:    194(ptr) AccessChain 312(input) 190 103
                              Store 342 341
             343:    323(ptr) AccessChain 322(input.Normal) 190
             344:   21(fvec3) Load 343
             345:    134(ptr) AccessChain 312(input) 190 133
                              Store 345 344
             346:    323(ptr) AccessChain 327(input.Color) 190
             347:   21(fvec3) Load 346
             348:    134(ptr) AccessChain 312(input) 190 190
                              Store 348 347
             352:     11(int) Load 351(InvocationID)
                              Store 349(InvocationID) 352
             355:     11(int) Load 354(PrimitiveID)
                              Store 353(PrimitiveID) 355
             358:          40 Load 312(input)
                              Store 357(param) 358
             361:     11(int) Load 349(InvocationID)
                              Store 360(param) 361
             363:     11(int) Load 353(PrimitiveID)
                              Store 362(param) 363
             364:           4 FunctionCall 71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 357(param) 359(param) 360(param) 362(param)
             365:45(GSOutput) Load 359(param)
                              Store 356(outStream) 365
                              Return
                              FunctionEnd
71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;):           4 Function None 65
       67(input):     42(ptr) FunctionParameter
   68(outStream):     61(ptr) FunctionParameter
69(InvocationID):     63(ptr) FunctionParameter
 70(PrimitiveID):     63(ptr) FunctionParameter
              72:             Label
           97(i):     95(ptr) Variable Function
     119(output):     61(ptr) Variable Function
        196(pos):    194(ptr) Variable Function
   205(worldPos):    194(ptr) Variable Function
       216(lPos):    134(ptr) Variable Function
              80:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74
              81:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 75 75 16 16
              78:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 67(input) 79
              85:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 68(outStream) 79
              88:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 69(InvocationID) 79
              90:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 70(PrimitiveID) 79
              91:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 74 71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
             102:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16
             101:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 97(i) 79
                              Store 97(i) 103
                              Branch 104
             104:             Label
             108:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74
             109:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16
                              LoopMerge 106 107 None
                              Branch 110
             110:             Label
             112:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74
             113:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16
             111:     92(int) Load 97(i)
             118:   115(bool) SLessThan 111 114
                              BranchConditional 118 105 106
             105:               Label
             124:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74
             125:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 122 122 16 16
             123:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 120 119(output) 79
                                Store 119(output) 129
             131:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 132 132 16 16
             130:     92(int)   Load 97(i)
             136:    134(ptr)   AccessChain 67(input) 130 133
             137:   21(fvec3)   Load 136
             170:     11(int)   Load 69(InvocationID)
             173:    171(ptr)   AccessChain 167 103 133 170
             174:         138   Load 173
             177:   18(fvec4)   CompositeExtract 174 0
             178:   21(fvec3)   VectorShuffle 177 177 0 1 2
             179:   18(fvec4)   CompositeExtract 174 1
             180:   21(fvec3)   VectorShuffle 179 179 0 1 2
             181:   18(fvec4)   CompositeExtract 174 2
             182:   21(fvec3)   VectorShuffle 181 181 0 1 2
             183:         175   CompositeConstruct 178 180 182
             184:   21(fvec3)   VectorTimesMatrix 137 183
             185:    134(ptr)   AccessChain 119(output) 114
                                Store 185 184
             188:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 189 189 16 16
             187:     92(int)   Load 97(i)
             191:    134(ptr)   AccessChain 67(input) 187 190
             192:   21(fvec3)   Load 191
             193:    134(ptr)   AccessChain 119(output) 186
                                Store 193 192
             201:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 199 199 16 16
             200:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 197 196(pos) 79
             202:     92(int)   Load 97(i)
             203:    194(ptr)   AccessChain 67(input) 202 103
             204:   18(fvec4)   Load 203
                                Store 196(pos) 204
             210:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 208 208 16 16
             209:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(worldPos) 79
             211:   18(fvec4)   Load 196(pos)
             212:     11(int)   Load 69(InvocationID)
             213:    171(ptr)   AccessChain 167 103 133 212
             214:         138   Load 213
             215:   18(fvec4)   VectorTimesMatrix 211 214
                                Store 205(worldPos) 215
             221:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 219 219 16 16
             220:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(lPos) 79
             224:    222(ptr)   AccessChain 167 103 190
             225:   18(fvec4)   Load 224
             226:     11(int)   Load 69(InvocationID)
             227:    171(ptr)   AccessChain 167 103 133 226
             228:         138   Load 227
             229:   18(fvec4)   VectorTimesMatrix 225 228
             230:   21(fvec3)   VectorShuffle 229 229 0 1 2
                                Store 216(lPos) 230
             233:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 234 234 16 16
             232:   21(fvec3)   Load 216(lPos)
             235:   18(fvec4)   Load 205(worldPos)
             236:   21(fvec3)   VectorShuffle 235 235 0 1 2
             237:   21(fvec3)   FSub 232 236
             238:    134(ptr)   AccessChain 119(output) 231
                                Store 238 237
             241:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 242 242 16 16
             240:   18(fvec4)   Load 205(worldPos)
             243:   21(fvec3)   VectorShuffle 240 240 0 1 2
             244:   21(fvec3)   FNegate 243
             245:    134(ptr)   AccessChain 119(output) 239
                                Store 245 244
             247:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16
             246:   18(fvec4)   Load 205(worldPos)
             249:     11(int)   Load 69(InvocationID)
             250:    171(ptr)   AccessChain 167 103 103 249
             251:         138   Load 250
             252:   18(fvec4)   VectorTimesMatrix 246 251
             253:    194(ptr)   AccessChain 119(output) 103
                                Store 253 252
             255:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 256 256 16 16
             254:     11(int)   Load 69(InvocationID)
             257:     63(ptr)   AccessChain 119(output) 133
                                Store 257 254
             259:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 260 260 16 16
             258:     11(int)   Load 70(PrimitiveID)
             261:     63(ptr)   AccessChain 119(output) 190
                                Store 261 258
             269:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 267 267 16 16
             268:    194(ptr)   AccessChain 119(output) 103
             270:   18(fvec4)   Load 268
                                Store 264(outStream.Pos) 270
             276:     63(ptr)   AccessChain 119(output) 133
             277:     11(int)   Load 276
                                Store 273(outStream.ViewportIndex) 277
             281:     63(ptr)   AccessChain 119(output) 190
             282:     11(int)   Load 281
                                Store 278(outStream.PrimitiveID) 282
             288:    134(ptr)   AccessChain 119(output) 114
             289:   21(fvec3)   Load 288
                                Store 285(outStream.Normal) 289
             293:    134(ptr)   AccessChain 119(output) 186
             294:   21(fvec3)   Load 293
                                Store 290(outStream.Color) 294
             298:    134(ptr)   AccessChain 119(output) 239
             299:   21(fvec3)   Load 298
                                Store 295(outStream.ViewVec) 299
             303:    134(ptr)   AccessChain 119(output) 231
             304:   21(fvec3)   Load 303
                                Store 300(outStream.LightVec) 304
                                EmitVertex
                                Branch 107
             107:               Label
             306:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74
             307:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16
             305:     92(int)   Load 97(i)
             308:     92(int)   IAdd 305 133
                                Store 97(i) 308
                                Branch 104
             106:             Label
             309:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74
             310:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 311 311 16 16
                              EndPrimitive
                              Return
                              FunctionEnd
