Clean up the debug line info tracking and generation.

- Correctly populate the field `currentFileId` with the presence of include directive
- Support lazy OpLine/OpDebugLine generation only when a real instruction is added instead of a debug location is set
- Improve the debug location tracking to per-block instead of just per-builder
- A few bug fixes related to debug source info
This commit is contained in:
Qingyuan Zheng 2024-02-09 10:27:40 -08:00 committed by GitHub
parent b1f7affe94
commit 30661abd9c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 8844 additions and 8834 deletions

View file

@ -1,20 +1,20 @@
spv.debuginfo.glsl.geom
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 272
// Id's are bound by 273
Capability Geometry
Capability MultiViewport
Extension "SPV_KHR_non_semantic_info"
2: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 14 "main" 66 99 120 131 134 167 209 218 236 250 256 259
EntryPoint Geometry 14 "main" 64 98 121 130 134 168 208 217 236 249 255 259
ExecutionMode 14 Triangles
ExecutionMode 14 Invocations 2
ExecutionMode 14 OutputTriangleStrip
ExecutionMode 14 OutputVertices 3
1: String ""
2: String ""
8: String "uint"
16: String "main"
19: String "// OpModuleProcessed auto-map-locations
@ -25,97 +25,97 @@ spv.debuginfo.glsl.geom
// OpModuleProcessed entry-point main
#line 1
"
30: String "int"
37: String "i"
53: String "bool"
60: String "float"
68: String "outNormal"
81: String "projection"
84: String "modelview"
87: String "lightPos"
90: String "UBO"
95: String "ubo"
101: String "gl_InvocationID"
122: String "inNormal"
133: String "outColor"
29: String "int"
36: String "i"
54: String "bool"
58: String "float"
66: String "outNormal"
80: String "projection"
83: String "modelview"
86: String "lightPos"
89: String "UBO"
94: String "ubo"
100: String "gl_InvocationID"
123: String "inNormal"
132: String "outColor"
136: String "inColor"
146: String "pos"
152: String "gl_Position"
155: String "gl_PointSize"
158: String "gl_CullDistance"
162: String "gl_PerVertex"
169: String "gl_in"
179: String "worldPos"
192: String "lPos"
211: String "outLightVec"
220: String "outViewVec"
252: String "gl_ViewportIndex"
258: String "gl_PrimitiveID"
145: String "pos"
153: String "gl_Position"
156: String "gl_PointSize"
159: String "gl_CullDistance"
163: String "gl_PerVertex"
170: String "gl_in"
178: String "worldPos"
191: String "lPos"
210: String "outLightVec"
219: String "outViewVec"
251: String "gl_ViewportIndex"
257: String "gl_PrimitiveID"
261: String "gl_PrimitiveIDIn"
SourceExtension "GL_ARB_viewport_array"
Name 14 "main"
Name 35 "i"
Name 66 "outNormal"
Name 79 "UBO"
MemberName 79(UBO) 0 "projection"
MemberName 79(UBO) 1 "modelview"
MemberName 79(UBO) 2 "lightPos"
Name 93 "ubo"
Name 99 "gl_InvocationID"
Name 120 "inNormal"
Name 131 "outColor"
Name 34 "i"
Name 64 "outNormal"
Name 78 "UBO"
MemberName 78(UBO) 0 "projection"
MemberName 78(UBO) 1 "modelview"
MemberName 78(UBO) 2 "lightPos"
Name 92 "ubo"
Name 98 "gl_InvocationID"
Name 121 "inNormal"
Name 130 "outColor"
Name 134 "inColor"
Name 144 "pos"
Name 150 "gl_PerVertex"
MemberName 150(gl_PerVertex) 0 "gl_Position"
MemberName 150(gl_PerVertex) 1 "gl_PointSize"
MemberName 150(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 150(gl_PerVertex) 3 "gl_CullDistance"
Name 167 "gl_in"
Name 177 "worldPos"
Name 190 "lPos"
Name 209 "outLightVec"
Name 218 "outViewVec"
Name 226 "gl_PerVertex"
MemberName 226(gl_PerVertex) 0 "gl_Position"
MemberName 226(gl_PerVertex) 1 "gl_PointSize"
MemberName 226(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 226(gl_PerVertex) 3 "gl_CullDistance"
Name 143 "pos"
Name 151 "gl_PerVertex"
MemberName 151(gl_PerVertex) 0 "gl_Position"
MemberName 151(gl_PerVertex) 1 "gl_PointSize"
MemberName 151(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 151(gl_PerVertex) 3 "gl_CullDistance"
Name 168 "gl_in"
Name 176 "worldPos"
Name 189 "lPos"
Name 208 "outLightVec"
Name 217 "outViewVec"
Name 225 "gl_PerVertex"
MemberName 225(gl_PerVertex) 0 "gl_Position"
MemberName 225(gl_PerVertex) 1 "gl_PointSize"
MemberName 225(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 225(gl_PerVertex) 3 "gl_CullDistance"
Name 236 ""
Name 250 "gl_ViewportIndex"
Name 256 "gl_PrimitiveID"
Name 249 "gl_ViewportIndex"
Name 255 "gl_PrimitiveID"
Name 259 "gl_PrimitiveIDIn"
Decorate 66(outNormal) Location 0
Decorate 75 ArrayStride 64
Decorate 77 ArrayStride 64
MemberDecorate 79(UBO) 0 ColMajor
MemberDecorate 79(UBO) 0 Offset 0
MemberDecorate 79(UBO) 0 MatrixStride 16
MemberDecorate 79(UBO) 1 ColMajor
MemberDecorate 79(UBO) 1 Offset 128
MemberDecorate 79(UBO) 1 MatrixStride 16
MemberDecorate 79(UBO) 2 Offset 256
Decorate 79(UBO) Block
Decorate 93(ubo) DescriptorSet 0
Decorate 93(ubo) Binding 0
Decorate 99(gl_InvocationID) BuiltIn InvocationId
Decorate 120(inNormal) Location 0
Decorate 131(outColor) Location 1
Decorate 64(outNormal) Location 0
Decorate 74 ArrayStride 64
Decorate 76 ArrayStride 64
MemberDecorate 78(UBO) 0 ColMajor
MemberDecorate 78(UBO) 0 Offset 0
MemberDecorate 78(UBO) 0 MatrixStride 16
MemberDecorate 78(UBO) 1 ColMajor
MemberDecorate 78(UBO) 1 Offset 128
MemberDecorate 78(UBO) 1 MatrixStride 16
MemberDecorate 78(UBO) 2 Offset 256
Decorate 78(UBO) Block
Decorate 92(ubo) DescriptorSet 0
Decorate 92(ubo) Binding 0
Decorate 98(gl_InvocationID) BuiltIn InvocationId
Decorate 121(inNormal) Location 0
Decorate 130(outColor) Location 1
Decorate 134(inColor) Location 1
MemberDecorate 150(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 150(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 150(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 150(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 150(gl_PerVertex) Block
Decorate 209(outLightVec) Location 3
Decorate 218(outViewVec) Location 2
MemberDecorate 226(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 226(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 226(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 226(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 226(gl_PerVertex) Block
Decorate 250(gl_ViewportIndex) BuiltIn ViewportIndex
Decorate 256(gl_PrimitiveID) BuiltIn PrimitiveId
MemberDecorate 151(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 151(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 151(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 151(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 151(gl_PerVertex) Block
Decorate 208(outLightVec) Location 3
Decorate 217(outViewVec) Location 2
MemberDecorate 225(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 225(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 225(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 225(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 225(gl_PerVertex) Block
Decorate 249(gl_ViewportIndex) BuiltIn ViewportIndex
Decorate 255(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 259(gl_PrimitiveIDIn) BuiltIn PrimitiveId
4: TypeVoid
5: TypeFunction 4
@ -123,258 +123,258 @@ spv.debuginfo.glsl.geom
10: 7(int) Constant 32
11: 7(int) Constant 6
12: 7(int) Constant 0
9: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
13: 7(int) Constant 3
6: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
18: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 1 19
6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 19
20: 7(int) Constant 47
22: 7(int) Constant 1
23: 7(int) Constant 4
24: 7(int) Constant 2
21: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 22 23 18 24
17: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 16 6 18 20 12 21 16 13 20
28: 7(int) Constant 49
29: TypeInt 32 1
31: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 30 10 23 12
32: TypePointer Function 29(int)
33: 7(int) Constant 7
34: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 31 33 12
36: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 37 31 18 28 12 17 23
39: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
40: 29(int) Constant 0
51: 29(int) Constant 3
52: TypeBool
54: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 53 10 24 12
58: 7(int) Constant 51
59: TypeFloat 32
61: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 60 10 13 12
62: TypeVector 59(float) 3
63: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 61 13
64: TypePointer Output 62(fvec3)
65: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 63 13 12
66(outNormal): 64(ptr) Variable Output
69: 7(int) Constant 8
67: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 68 63 18 58 12 21 68 66(outNormal) 69
70: TypeVector 59(float) 4
71: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 61 23
72: TypeMatrix 70(fvec4) 4
74: 52(bool) ConstantTrue
73: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 71 23 74
75: TypeArray 72 24
76: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 73 24
77: TypeArray 72 24
78: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 73 24
79(UBO): TypeStruct 75 77 70(fvec4)
82: 7(int) Constant 34
80: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 81 76 18 82 33 12 12 13
85: 7(int) Constant 35
83: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 84 78 18 85 33 12 12 13
88: 7(int) Constant 36
86: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 87 71 18 88 33 12 12 13
89: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 90 22 18 58 12 21 90 12 13 80 83 86
91: TypePointer Uniform 79(UBO)
92: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 24 12
93(ubo): 91(ptr) Variable Uniform
94: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 95 89 18 58 12 21 95 93(ubo) 69
96: 29(int) Constant 1
97: TypePointer Input 29(int)
98: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 31 22 12
99(gl_InvocationID): 97(ptr) Variable Input
100: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 101 31 18 58 12 21 101 99(gl_InvocationID) 69
103: TypePointer Uniform 72
104: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 24 12
107: TypeMatrix 62(fvec3) 3
108: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 63 13 74
116: TypeArray 62(fvec3) 13
117: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 63 13
118: TypePointer Input 116
119: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 117 22 12
120(inNormal): 118(ptr) Variable Input
121: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 122 117 18 58 12 21 122 120(inNormal) 69
124: TypePointer Input 62(fvec3)
125: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 63 22 12
130: 7(int) Constant 52
131(outColor): 64(ptr) Variable Output
132: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 133 63 18 130 12 21 133 131(outColor) 69
134(inColor): 118(ptr) Variable Input
135: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 136 117 18 130 12 21 136 134(inColor) 69
141: 7(int) Constant 54
142: TypePointer Function 70(fvec4)
143: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 71 33 12
145: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 71 18 141 12 17 23
148: TypeArray 59(float) 22
149: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 61 22
150(gl_PerVertex): TypeStruct 70(fvec4) 59(float) 148 148
153: 7(int) Constant 23
151: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 71 18 24 153 12 12 13
156: 7(int) Constant 41
154: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 61 18 24 156 12 12 13
159: 7(int) Constant 84
157: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 158 149 18 24 159 12 12 13
160: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 158 149 18 24 159 12 12 13
161: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 22 18 141 12 21 162 12 13 151 154 157 160
163: TypeArray 150(gl_PerVertex) 13
164: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 161 13
165: TypePointer Input 163
166: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 22 12
167(gl_in): 165(ptr) Variable Input
168: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 169 164 18 141 12 21 169 167(gl_in) 69
171: TypePointer Input 70(fvec4)
172: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 71 22 12
176: 7(int) Constant 55
178: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 179 71 18 176 12 17 23
187: 7(int) Constant 57
188: TypePointer Function 62(fvec3)
189: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 63 33 12
191: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 192 63 18 187 12 17 23
197: 29(int) Constant 2
198: TypePointer Uniform 70(fvec4)
199: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 71 24 12
208: 7(int) Constant 58
209(outLightVec): 64(ptr) Variable Output
210: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 211 63 18 208 12 21 211 209(outLightVec) 69
217: 7(int) Constant 59
218(outViewVec): 64(ptr) Variable Output
219: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 220 63 18 217 12 21 220 218(outViewVec) 69
225: 7(int) Constant 61
226(gl_PerVertex): TypeStruct 70(fvec4) 59(float) 148 148
228: 7(int) Constant 215
227: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 71 18 24 228 12 12 13
230: 7(int) Constant 233
229: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 61 18 24 230 12 12 13
231: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 158 149 18 13 33 12 12 13
232: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 158 149 18 13 33 12 12 13
233: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 22 18 225 12 21 162 12 13 227 229 231 232
234: TypePointer Output 226(gl_PerVertex)
235: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 233 13 12
21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 22 23 18 24
17: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 16 6 18 20 12 21 16 13 20
28: TypeInt 32 1
30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 29 10 23 12
31: TypePointer Function 28(int)
32: 7(int) Constant 7
33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 30 32 12
37: 7(int) Constant 49
35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 36 30 18 37 12 17 23
39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
41: 28(int) Constant 0
52: 28(int) Constant 3
53: TypeBool
55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 54 10 24 12
57: TypeFloat 32
59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 58 10 13 12
60: TypeVector 57(float) 3
61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 59 13
62: TypePointer Output 60(fvec3)
63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 61 13 12
64(outNormal): 62(ptr) Variable Output
67: 7(int) Constant 51
68: 7(int) Constant 8
65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 66 61 18 67 12 21 66 64(outNormal) 68
69: TypeVector 57(float) 4
70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 59 23
71: TypeMatrix 69(fvec4) 4
73: 53(bool) ConstantTrue
72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 70 23 73
74: TypeArray 71 24
75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 72 24
76: TypeArray 71 24
77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 72 24
78(UBO): TypeStruct 74 76 69(fvec4)
81: 7(int) Constant 34
79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 80 75 18 81 32 12 12 13
84: 7(int) Constant 35
82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 77 18 84 32 12 12 13
87: 7(int) Constant 36
85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 86 70 18 87 32 12 12 13
88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 89 22 18 67 12 21 89 12 13 79 82 85
90: TypePointer Uniform 78(UBO)
91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 24 12
92(ubo): 90(ptr) Variable Uniform
93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 94 88 18 67 12 21 94 92(ubo) 68
95: 28(int) Constant 1
96: TypePointer Input 28(int)
97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 30 22 12
98(gl_InvocationID): 96(ptr) Variable Input
99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 100 30 18 67 12 21 100 98(gl_InvocationID) 68
104: TypePointer Uniform 71
105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 24 12
108: TypeMatrix 60(fvec3) 3
109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 61 13 73
117: TypeArray 60(fvec3) 13
118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 61 13
119: TypePointer Input 117
120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 118 22 12
121(inNormal): 119(ptr) Variable Input
122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 123 118 18 67 12 21 123 121(inNormal) 68
125: TypePointer Input 60(fvec3)
126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 61 22 12
130(outColor): 62(ptr) Variable Output
133: 7(int) Constant 52
131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 132 61 18 133 12 21 132 130(outColor) 68
134(inColor): 119(ptr) Variable Input
135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 136 118 18 133 12 21 136 134(inColor) 68
141: TypePointer Function 69(fvec4)
142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 70 32 12
146: 7(int) Constant 54
144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 145 70 18 146 12 17 23
149: TypeArray 57(float) 22
150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 59 22
151(gl_PerVertex): TypeStruct 69(fvec4) 57(float) 149 149
154: 7(int) Constant 23
152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 153 70 18 24 154 12 12 13
157: 7(int) Constant 41
155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 59 18 24 157 12 12 13
160: 7(int) Constant 84
158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 159 150 18 24 160 12 12 13
161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 159 150 18 24 160 12 12 13
162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 163 22 18 146 12 21 163 12 13 152 155 158 161
164: TypeArray 151(gl_PerVertex) 13
165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 162 13
166: TypePointer Input 164
167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 165 22 12
168(gl_in): 166(ptr) Variable Input
169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 170 165 18 146 12 21 170 168(gl_in) 68
172: TypePointer Input 69(fvec4)
173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 70 22 12
179: 7(int) Constant 55
177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 70 18 179 12 17 23
187: TypePointer Function 60(fvec3)
188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 61 32 12
192: 7(int) Constant 57
190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 191 61 18 192 12 17 23
198: 28(int) Constant 2
199: TypePointer Uniform 69(fvec4)
200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 70 24 12
208(outLightVec): 62(ptr) Variable Output
211: 7(int) Constant 58
209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 210 61 18 211 12 21 210 208(outLightVec) 68
217(outViewVec): 62(ptr) Variable Output
220: 7(int) Constant 59
218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 219 61 18 220 12 21 219 217(outViewVec) 68
225(gl_PerVertex): TypeStruct 69(fvec4) 57(float) 149 149
227: 7(int) Constant 215
226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 153 70 18 24 227 12 12 13
229: 7(int) Constant 233
228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 59 18 24 229 12 12 13
230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 159 150 18 13 32 12 12 13
231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 159 150 18 13 32 12 12 13
233: 7(int) Constant 61
232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 163 22 18 233 12 21 163 12 13 226 228 230 231
234: TypePointer Output 225(gl_PerVertex)
235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 232 13 12
236: 234(ptr) Variable Output
237: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 1 233 18 225 12 21 1 236 69
243: TypePointer Output 70(fvec4)
244: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 71 13 12
247: 7(int) Constant 64
248: TypePointer Output 29(int)
249: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 31 13 12
250(gl_ViewportIndex): 248(ptr) Variable Output
251: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 252 31 18 247 12 21 252 250(gl_ViewportIndex) 69
255: 7(int) Constant 65
256(gl_PrimitiveID): 248(ptr) Variable Output
257: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 258 31 18 255 12 21 258 256(gl_PrimitiveID) 69
259(gl_PrimitiveIDIn): 97(ptr) Variable Input
260: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 261 31 18 255 12 21 261 259(gl_PrimitiveIDIn) 69
264: 7(int) Constant 66
271: 7(int) Constant 68
Line 1 47 15
237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 232 18 233 12 21 2 236 68
244: TypePointer Output 69(fvec4)
245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 70 13 12
247: TypePointer Output 28(int)
248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 30 13 12
249(gl_ViewportIndex): 247(ptr) Variable Output
252: 7(int) Constant 64
250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 251 30 18 252 12 21 251 249(gl_ViewportIndex) 68
255(gl_PrimitiveID): 247(ptr) Variable Output
258: 7(int) Constant 65
256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 257 30 18 258 12 21 257 255(gl_PrimitiveID) 68
259(gl_PrimitiveIDIn): 96(ptr) Variable Input
260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 261 30 18 258 12 21 261 259(gl_PrimitiveIDIn) 68
265: 7(int) Constant 66
272: 7(int) Constant 68
14(main): 4 Function None 5
15: Label
35(i): 32(ptr) Variable Function
144(pos): 142(ptr) Variable Function
177(worldPos): 142(ptr) Variable Function
190(lPos): 188(ptr) Variable Function
25: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 17 14(main)
26: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
27: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 28 28 12 12
38: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 36 35(i) 39
Store 35(i) 40
Branch 41
41: Label
45: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
46: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 28 28 12 12
LoopMerge 43 44 None
Branch 47
47: Label
48: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
49: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 28 28 12 12
50: 29(int) Load 35(i)
55: 52(bool) SLessThan 50 51
BranchConditional 55 42 43
42: Label
56: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
57: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 58 58 12 12
102: 29(int) Load 99(gl_InvocationID)
105: 103(ptr) AccessChain 93(ubo) 96 102
106: 72 Load 105
109: 70(fvec4) CompositeExtract 106 0
110: 62(fvec3) VectorShuffle 109 109 0 1 2
111: 70(fvec4) CompositeExtract 106 1
112: 62(fvec3) VectorShuffle 111 111 0 1 2
113: 70(fvec4) CompositeExtract 106 2
114: 62(fvec3) VectorShuffle 113 113 0 1 2
115: 107 CompositeConstruct 110 112 114
123: 29(int) Load 35(i)
126: 124(ptr) AccessChain 120(inNormal) 123
127: 62(fvec3) Load 126
128: 62(fvec3) MatrixTimesVector 115 127
Store 66(outNormal) 128
129: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 130 130 12 12
137: 29(int) Load 35(i)
138: 124(ptr) AccessChain 134(inColor) 137
139: 62(fvec3) Load 138
Store 131(outColor) 139
140: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 141 141 12 12
147: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(pos) 39
170: 29(int) Load 35(i)
173: 171(ptr) AccessChain 167(gl_in) 170 40
174: 70(fvec4) Load 173
Store 144(pos) 174
175: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 176 176 12 12
180: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 178 177(worldPos) 39
181: 29(int) Load 99(gl_InvocationID)
182: 103(ptr) AccessChain 93(ubo) 96 181
183: 72 Load 182
184: 70(fvec4) Load 144(pos)
185: 70(fvec4) MatrixTimesVector 183 184
Store 177(worldPos) 185
186: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 187 187 12 12
193: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 191 190(lPos) 39
194: 29(int) Load 99(gl_InvocationID)
195: 103(ptr) AccessChain 93(ubo) 96 194
196: 72 Load 195
200: 198(ptr) AccessChain 93(ubo) 197
201: 70(fvec4) Load 200
202: 70(fvec4) MatrixTimesVector 196 201
203: 59(float) CompositeExtract 202 0
204: 59(float) CompositeExtract 202 1
205: 59(float) CompositeExtract 202 2
206: 62(fvec3) CompositeConstruct 203 204 205
Store 190(lPos) 206
207: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 208 208 12 12
212: 62(fvec3) Load 190(lPos)
213: 70(fvec4) Load 177(worldPos)
214: 62(fvec3) VectorShuffle 213 213 0 1 2
215: 62(fvec3) FSub 212 214
Store 209(outLightVec) 215
216: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 217 217 12 12
221: 70(fvec4) Load 177(worldPos)
222: 62(fvec3) VectorShuffle 221 221 0 1 2
223: 62(fvec3) FNegate 222
Store 218(outViewVec) 223
224: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 225 225 12 12
238: 29(int) Load 99(gl_InvocationID)
239: 103(ptr) AccessChain 93(ubo) 40 238
240: 72 Load 239
241: 70(fvec4) Load 177(worldPos)
242: 70(fvec4) MatrixTimesVector 240 241
245: 243(ptr) AccessChain 236 40
Store 245 242
246: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 247 247 12 12
253: 29(int) Load 99(gl_InvocationID)
Store 250(gl_ViewportIndex) 253
254: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 255 255 12 12
262: 29(int) Load 259(gl_PrimitiveIDIn)
Store 256(gl_PrimitiveID) 262
263: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 264 264 12 12
34(i): 31(ptr) Variable Function
143(pos): 141(ptr) Variable Function
176(worldPos): 141(ptr) Variable Function
189(lPos): 187(ptr) Variable Function
26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 20 20 12 12
25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 17 14(main)
40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 37 37 12 12
38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 35 34(i) 39
Store 34(i) 41
Branch 42
42: Label
46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 37 37 12 12
LoopMerge 44 45 None
Branch 48
48: Label
50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 37 37 12 12
49: 28(int) Load 34(i)
56: 53(bool) SLessThan 49 52
BranchConditional 56 43 44
43: Label
102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 67 67 12 12
101: 28(int) Load 98(gl_InvocationID)
106: 104(ptr) AccessChain 92(ubo) 95 101
107: 71 Load 106
110: 69(fvec4) CompositeExtract 107 0
111: 60(fvec3) VectorShuffle 110 110 0 1 2
112: 69(fvec4) CompositeExtract 107 1
113: 60(fvec3) VectorShuffle 112 112 0 1 2
114: 69(fvec4) CompositeExtract 107 2
115: 60(fvec3) VectorShuffle 114 114 0 1 2
116: 108 CompositeConstruct 111 113 115
124: 28(int) Load 34(i)
127: 125(ptr) AccessChain 121(inNormal) 124
128: 60(fvec3) Load 127
129: 60(fvec3) MatrixTimesVector 116 128
Store 64(outNormal) 129
138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 133 133 12 12
137: 28(int) Load 34(i)
139: 125(ptr) AccessChain 134(inColor) 137
140: 60(fvec3) Load 139
Store 130(outColor) 140
148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 146 146 12 12
147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 144 143(pos) 39
171: 28(int) Load 34(i)
174: 172(ptr) AccessChain 168(gl_in) 171 41
175: 69(fvec4) Load 174
Store 143(pos) 175
181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 179 179 12 12
180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(worldPos) 39
182: 28(int) Load 98(gl_InvocationID)
183: 104(ptr) AccessChain 92(ubo) 95 182
184: 71 Load 183
185: 69(fvec4) Load 143(pos)
186: 69(fvec4) MatrixTimesVector 184 185
Store 176(worldPos) 186
194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 192 192 12 12
193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 190 189(lPos) 39
195: 28(int) Load 98(gl_InvocationID)
196: 104(ptr) AccessChain 92(ubo) 95 195
197: 71 Load 196
201: 199(ptr) AccessChain 92(ubo) 198
202: 69(fvec4) Load 201
203: 69(fvec4) MatrixTimesVector 197 202
204: 57(float) CompositeExtract 203 0
205: 57(float) CompositeExtract 203 1
206: 57(float) CompositeExtract 203 2
207: 60(fvec3) CompositeConstruct 204 205 206
Store 189(lPos) 207
213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 211 211 12 12
212: 60(fvec3) Load 189(lPos)
214: 69(fvec4) Load 176(worldPos)
215: 60(fvec3) VectorShuffle 214 214 0 1 2
216: 60(fvec3) FSub 212 215
Store 208(outLightVec) 216
222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12
221: 69(fvec4) Load 176(worldPos)
223: 60(fvec3) VectorShuffle 221 221 0 1 2
224: 60(fvec3) FNegate 223
Store 217(outViewVec) 224
239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 233 233 12 12
238: 28(int) Load 98(gl_InvocationID)
240: 104(ptr) AccessChain 92(ubo) 41 238
241: 71 Load 240
242: 69(fvec4) Load 176(worldPos)
243: 69(fvec4) MatrixTimesVector 241 242
246: 244(ptr) AccessChain 236 41
Store 246 243
254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 252 252 12 12
253: 28(int) Load 98(gl_InvocationID)
Store 249(gl_ViewportIndex) 253
263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 258 258 12 12
262: 28(int) Load 259(gl_PrimitiveIDIn)
Store 255(gl_PrimitiveID) 262
264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 265 265 12 12
EmitVertex
Branch 44
44: Label
265: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
266: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 28 28 12 12
267: 29(int) Load 35(i)
268: 29(int) IAdd 267 96
Store 35(i) 268
Branch 41
43: Label
269: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
270: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 271 271 12 12
Branch 45
45: Label
267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 37 37 12 12
266: 28(int) Load 34(i)
269: 28(int) IAdd 266 95
Store 34(i) 269
Branch 42
44: Label
270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 272 272 12 12
EndPrimitive
Return
FunctionEnd