spv.debuginfo.glsl.geom
Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 231

                              Capability Geometry
                              Capability MultiViewport
                              Extension  "SPV_KHR_non_semantic_info"
               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               2:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Geometry 13  "main" 52 85 104 112 116 146 181 189 206 216 221 225
                              ExecutionMode 13 Triangles
                              ExecutionMode 13 Invocations 2
                              ExecutionMode 13 OutputTriangleStrip
                              ExecutionMode 13 OutputVertices 3
               8:             String  "uint"
              14:             String  "main"
              17:             String  ""
              25:             String  "int"
              30:             String  "i"
              43:             String  "bool"
              47:             String  "float"
              54:             String  "outNormal"
              68:             String  "projection"
              72:             String  "modelview"
              75:             String  "lightPos"
              78:             String  "UBO"
              82:             String  "ubo"
              87:             String  "gl_InvocationID"
             106:             String  "inNormal"
             114:             String  "outColor"
             118:             String  "inColor"
             125:             String  "pos"
             132:             String  "gl_Position"
             135:             String  "gl_PointSize"
             138:             String  "gl_CullDistance"
             142:             String  "gl_PerVertex"
             148:             String  "gl_in"
             155:             String  "worldPos"
             166:             String  "lPos"
             183:             String  "outLightVec"
             191:             String  "outViewVec"
             218:             String  "gl_ViewportIndex"
             223:             String  "gl_PrimitiveID"
             227:             String  "gl_PrimitiveIDIn"
                              SourceExtension  "GL_ARB_viewport_array"
                              Name 13  "main"
                              Name 28  "i"
                              Name 52  "outNormal"
                              Name 66  "UBO"
                              MemberName 66(UBO) 0  "projection"
                              MemberName 66(UBO) 1  "modelview"
                              MemberName 66(UBO) 2  "lightPos"
                              Name 80  "ubo"
                              Name 85  "gl_InvocationID"
                              Name 104  "inNormal"
                              Name 112  "outColor"
                              Name 116  "inColor"
                              Name 123  "pos"
                              Name 130  "gl_PerVertex"
                              MemberName 130(gl_PerVertex) 0  "gl_Position"
                              MemberName 130(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 130(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 130(gl_PerVertex) 3  "gl_CullDistance"
                              Name 146  "gl_in"
                              Name 153  "worldPos"
                              Name 164  "lPos"
                              Name 181  "outLightVec"
                              Name 189  "outViewVec"
                              Name 196  "gl_PerVertex"
                              MemberName 196(gl_PerVertex) 0  "gl_Position"
                              MemberName 196(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 196(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 196(gl_PerVertex) 3  "gl_CullDistance"
                              Name 206  ""
                              Name 216  "gl_ViewportIndex"
                              Name 221  "gl_PrimitiveID"
                              Name 225  "gl_PrimitiveIDIn"
                              Decorate 52(outNormal) Location 0
                              Decorate 62 ArrayStride 64
                              Decorate 64 ArrayStride 64
                              MemberDecorate 66(UBO) 0 ColMajor
                              MemberDecorate 66(UBO) 0 Offset 0
                              MemberDecorate 66(UBO) 0 MatrixStride 16
                              MemberDecorate 66(UBO) 1 ColMajor
                              MemberDecorate 66(UBO) 1 Offset 128
                              MemberDecorate 66(UBO) 1 MatrixStride 16
                              MemberDecorate 66(UBO) 2 Offset 256
                              Decorate 66(UBO) Block
                              Decorate 80(ubo) DescriptorSet 0
                              Decorate 80(ubo) Binding 0
                              Decorate 85(gl_InvocationID) BuiltIn InvocationId
                              Decorate 104(inNormal) Location 0
                              Decorate 112(outColor) Location 1
                              Decorate 116(inColor) Location 1
                              MemberDecorate 130(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 130(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 130(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 130(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 130(gl_PerVertex) Block
                              Decorate 181(outLightVec) Location 3
                              Decorate 189(outViewVec) Location 2
                              MemberDecorate 196(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 196(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 196(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 196(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 196(gl_PerVertex) Block
                              Decorate 216(gl_ViewportIndex) BuiltIn ViewportIndex
                              Decorate 221(gl_PrimitiveID) BuiltIn PrimitiveId
                              Decorate 225(gl_PrimitiveIDIn) BuiltIn PrimitiveId
               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
              24:             TypeInt 32 1
              26:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 25 9 20 11
              27:             TypePointer Function 24(int)
              31:      6(int) Constant 49
              29:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 30 26 16 31 11 15 20
              33:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
              34:     24(int) Constant 0
              41:     24(int) Constant 3
              42:             TypeBool
              44:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 43 9 21 11
              46:             TypeFloat 32
              48:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 47 9 12 11
              49:             TypeVector 46(float) 3
              50:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 48 12
              51:             TypePointer Output 49(fvec3)
   52(outNormal):     51(ptr) Variable Output
              55:      6(int) Constant 51
              56:      6(int) Constant 8
              53:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 54 50 16 55 11 18 54 52(outNormal) 56
              57:             TypeVector 46(float) 4
              58:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 48 20
              59:             TypeMatrix 57(fvec4) 4
              61:    42(bool) ConstantTrue
              60:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 58 20 61
              62:             TypeArray 59 21
              63:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 60 21
              64:             TypeArray 59 21
              65:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 60 21
         66(UBO):             TypeStruct 62 64 57(fvec4)
              69:      6(int) Constant 34
              70:      6(int) Constant 7
              67:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 68 63 16 69 70 11 11 12
              73:      6(int) Constant 35
              71:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 72 65 16 73 70 11 11 12
              76:      6(int) Constant 36
              74:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 75 58 16 76 70 11 11 12
              77:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 78 19 16 55 11 18 78 11 12 67 71 74
              79:             TypePointer Uniform 66(UBO)
         80(ubo):     79(ptr) Variable Uniform
              81:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 82 77 16 55 11 18 82 80(ubo) 56
              83:     24(int) Constant 1
              84:             TypePointer Input 24(int)
85(gl_InvocationID):     84(ptr) Variable Input
              86:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 87 26 16 55 11 18 87 85(gl_InvocationID) 56
              89:             TypePointer Uniform 59
              92:             TypeMatrix 49(fvec3) 3
              93:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 50 12 61
             101:             TypeArray 49(fvec3) 12
             102:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 50 12
             103:             TypePointer Input 101
   104(inNormal):    103(ptr) Variable Input
             105:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 106 102 16 55 11 18 106 104(inNormal) 56
             108:             TypePointer Input 49(fvec3)
   112(outColor):     51(ptr) Variable Output
             115:      6(int) Constant 52
             113:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 114 50 16 115 11 18 114 112(outColor) 56
    116(inColor):    103(ptr) Variable Input
             117:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 118 102 16 115 11 18 118 116(inColor) 56
             122:             TypePointer Function 57(fvec4)
             126:      6(int) Constant 54
             124:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 125 58 16 126 11 15 20
             128:             TypeArray 46(float) 19
             129:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 48 19
130(gl_PerVertex):             TypeStruct 57(fvec4) 46(float) 128 128
             133:      6(int) Constant 23
             131:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 132 58 16 21 133 11 11 12
             136:      6(int) Constant 41
             134:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 135 48 16 21 136 11 11 12
             139:      6(int) Constant 84
             137:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 21 139 11 11 12
             140:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 21 139 11 11 12
             141:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 19 16 126 11 18 142 11 12 131 134 137 140
             143:             TypeArray 130(gl_PerVertex) 12
             144:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 141 12
             145:             TypePointer Input 143
      146(gl_in):    145(ptr) Variable Input
             147:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 148 144 16 126 11 18 148 146(gl_in) 56
             150:             TypePointer Input 57(fvec4)
             156:      6(int) Constant 55
             154:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 155 58 16 156 11 15 20
             163:             TypePointer Function 49(fvec3)
             167:      6(int) Constant 57
             165:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 166 50 16 167 11 15 20
             172:     24(int) Constant 2
             173:             TypePointer Uniform 57(fvec4)
181(outLightVec):     51(ptr) Variable Output
             184:      6(int) Constant 58
             182:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 183 50 16 184 11 18 183 181(outLightVec) 56
 189(outViewVec):     51(ptr) Variable Output
             192:      6(int) Constant 59
             190:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 191 50 16 192 11 18 191 189(outViewVec) 56
196(gl_PerVertex):             TypeStruct 57(fvec4) 46(float) 128 128
             198:      6(int) Constant 215
             197:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 132 58 16 21 198 11 11 12
             200:      6(int) Constant 233
             199:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 135 48 16 21 200 11 11 12
             201:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 12 70 11 11 12
             202:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 129 16 12 70 11 11 12
             204:      6(int) Constant 61
             203:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 19 16 204 11 18 142 11 12 197 199 201 202
             205:             TypePointer Output 196(gl_PerVertex)
             206:    205(ptr) Variable Output
             207:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 17 203 16 204 11 18 17 206 56
             213:             TypePointer Output 57(fvec4)
             215:             TypePointer Output 24(int)
216(gl_ViewportIndex):    215(ptr) Variable Output
             219:      6(int) Constant 64
             217:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 218 26 16 219 11 18 218 216(gl_ViewportIndex) 56
221(gl_PrimitiveID):    215(ptr) Variable Output
             224:      6(int) Constant 65
             222:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 223 26 16 224 11 18 223 221(gl_PrimitiveID) 56
225(gl_PrimitiveIDIn):     84(ptr) Variable Input
             226:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 227 26 16 224 11 18 227 225(gl_PrimitiveIDIn) 56
        13(main):           3 Function None 4
              22:             Label
           28(i):     27(ptr) Variable Function
        123(pos):    122(ptr) Variable Function
   153(worldPos):    122(ptr) Variable Function
       164(lPos):    163(ptr) Variable Function
              23:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 15 13(main)
              32:           3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 29 28(i) 33
                              Store 28(i) 34
                              Branch 35
              35:             Label
                              LoopMerge 37 38 None
                              Branch 39
              39:             Label
              40:     24(int) Load 28(i)
              45:    42(bool) SLessThan 40 41
                              BranchConditional 45 36 37
              36:               Label
              88:     24(int)   Load 85(gl_InvocationID)
              90:     89(ptr)   AccessChain 80(ubo) 83 88
              91:          59   Load 90
              94:   57(fvec4)   CompositeExtract 91 0
              95:   49(fvec3)   VectorShuffle 94 94 0 1 2
              96:   57(fvec4)   CompositeExtract 91 1
              97:   49(fvec3)   VectorShuffle 96 96 0 1 2
              98:   57(fvec4)   CompositeExtract 91 2
              99:   49(fvec3)   VectorShuffle 98 98 0 1 2
             100:          92   CompositeConstruct 95 97 99
             107:     24(int)   Load 28(i)
             109:    108(ptr)   AccessChain 104(inNormal) 107
             110:   49(fvec3)   Load 109
             111:   49(fvec3)   MatrixTimesVector 100 110
                                Store 52(outNormal) 111
             119:     24(int)   Load 28(i)
             120:    108(ptr)   AccessChain 116(inColor) 119
             121:   49(fvec3)   Load 120
                                Store 112(outColor) 121
             127:           3   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 124 123(pos) 33
             149:     24(int)   Load 28(i)
             151:    150(ptr)   AccessChain 146(gl_in) 149 34
             152:   57(fvec4)   Load 151
                                Store 123(pos) 152
             157:           3   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 154 153(worldPos) 33
             158:     24(int)   Load 85(gl_InvocationID)
             159:     89(ptr)   AccessChain 80(ubo) 83 158
             160:          59   Load 159
             161:   57(fvec4)   Load 123(pos)
             162:   57(fvec4)   MatrixTimesVector 160 161
                                Store 153(worldPos) 162
             168:           3   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 165 164(lPos) 33
             169:     24(int)   Load 85(gl_InvocationID)
             170:     89(ptr)   AccessChain 80(ubo) 83 169
             171:          59   Load 170
             174:    173(ptr)   AccessChain 80(ubo) 172
             175:   57(fvec4)   Load 174
             176:   57(fvec4)   MatrixTimesVector 171 175
             177:   46(float)   CompositeExtract 176 0
             178:   46(float)   CompositeExtract 176 1
             179:   46(float)   CompositeExtract 176 2
             180:   49(fvec3)   CompositeConstruct 177 178 179
                                Store 164(lPos) 180
             185:   49(fvec3)   Load 164(lPos)
             186:   57(fvec4)   Load 153(worldPos)
             187:   49(fvec3)   VectorShuffle 186 186 0 1 2
             188:   49(fvec3)   FSub 185 187
                                Store 181(outLightVec) 188
             193:   57(fvec4)   Load 153(worldPos)
             194:   49(fvec3)   VectorShuffle 193 193 0 1 2
             195:   49(fvec3)   FNegate 194
                                Store 189(outViewVec) 195
             208:     24(int)   Load 85(gl_InvocationID)
             209:     89(ptr)   AccessChain 80(ubo) 34 208
             210:          59   Load 209
             211:   57(fvec4)   Load 153(worldPos)
             212:   57(fvec4)   MatrixTimesVector 210 211
             214:    213(ptr)   AccessChain 206 34
                                Store 214 212
             220:     24(int)   Load 85(gl_InvocationID)
                                Store 216(gl_ViewportIndex) 220
             228:     24(int)   Load 225(gl_PrimitiveIDIn)
                                Store 221(gl_PrimitiveID) 228
                                EmitVertex
                                Branch 38
              38:               Label
             229:     24(int)   Load 28(i)
             230:     24(int)   IAdd 229 83
                                Store 28(i) 230
                                Branch 35
              37:             Label
                              EndPrimitive
                              Return
                              FunctionEnd
