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

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