Use DebugDeclare for local variables

Previously we had decided to issue DebugValue directly in glslang.
However, this was incorrect and causing issues with RenderDoc.
This commit is contained in:
Jeremy Hayes 2022-09-23 09:17:44 -06:00
parent c0cf8ad876
commit ee442785dd
13 changed files with 5235 additions and 5347 deletions

View file

@ -2,7 +2,7 @@ spv.debuginfo.hlsl.geom
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 323
// Id's are bound by 322
Capability Geometry
Capability MultiViewport
@ -10,7 +10,7 @@ Validation failed
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
2: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 5 "main" 228 235 240 246 251 256 261 272 279 284 308 311
EntryPoint Geometry 5 "main" 228 235 240 246 251 256 261 271 278 283 307 310
ExecutionMode 5 Triangles
ExecutionMode 5 Invocations 2
ExecutionMode 5 OutputTriangleStrip
@ -84,19 +84,19 @@ Validation failed
Name 251 "outStream.Color"
Name 256 "outStream.ViewVec"
Name 261 "outStream.LightVec"
Name 269 "input"
Name 272 "input.Pos"
Name 279 "input.Normal"
Name 284 "input.Color"
Name 306 "InvocationID"
Name 308 "InvocationID"
Name 268 "input"
Name 271 "input.Pos"
Name 278 "input.Normal"
Name 283 "input.Color"
Name 305 "InvocationID"
Name 307 "InvocationID"
Name 309 "PrimitiveID"
Name 310 "PrimitiveID"
Name 311 "PrimitiveID"
Name 313 "outStream"
Name 314 "param"
Name 312 "outStream"
Name 313 "param"
Name 315 "param"
Name 316 "param"
Name 317 "param"
Name 319 "param"
Name 318 "param"
Decorate 124 ArrayStride 64
Decorate 126 ArrayStride 64
MemberDecorate 128(UBO) 0 RowMajor
@ -117,11 +117,11 @@ Validation failed
Decorate 251(outStream.Color) Location 1
Decorate 256(outStream.ViewVec) Location 2
Decorate 261(outStream.LightVec) Location 3
Decorate 272(input.Pos) BuiltIn Position
Decorate 279(input.Normal) Location 0
Decorate 284(input.Color) Location 1
Decorate 308(InvocationID) BuiltIn InvocationId
Decorate 311(PrimitiveID) BuiltIn PrimitiveId
Decorate 271(input.Pos) BuiltIn Position
Decorate 278(input.Normal) Location 0
Decorate 283(input.Color) Location 1
Decorate 307(InvocationID) BuiltIn InvocationId
Decorate 310(PrimitiveID) BuiltIn PrimitiveId
3: TypeVoid
4: TypeFunction 3
7: TypeFloat 32
@ -182,16 +182,16 @@ Validation failed
89: TypePointer Function 86(int)
93: 10(int) Constant 57
91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 92 88 25 93 15 68 18
94: 86(int) Constant 0
95: 86(int) Constant 0
102: 86(int) Constant 3
103: TypeBool
105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 104 13 78 15
110: 10(int) Constant 59
108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 109 56 25 110 15 68 18
111: 7(float) Constant 0
112: 17(fvec4) ConstantComposite 111 111 111 111
113: 20(fvec3) ConstantComposite 111 111 111
114:42(GSOutput) ConstantComposite 112 15 15 113 113 113 113
112: 7(float) Constant 0
113: 17(fvec4) ConstantComposite 112 112 112 112
114: 20(fvec3) ConstantComposite 112 112 112
115:42(GSOutput) ConstantComposite 113 15 15 114 114 114 114
117: 86(int) Constant 1
118: TypePointer Function 20(fvec3)
121: TypeMatrix 17(fvec4) 4
@ -233,7 +233,7 @@ Validation failed
184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 185 19 25 186 15 68 18
196: 10(int) Constant 66
194: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 195 21 25 196 15 68 18
197: TypePointer Uniform 17(fvec4)
198: TypePointer Uniform 17(fvec4)
206: 86(int) Constant 6
212: 86(int) Constant 5
227: TypePointer Output 17(fvec4)
@ -254,77 +254,77 @@ Validation failed
257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 258 21 25 231 15 37 258 256(outStream.ViewVec) 152
261(outStream.LightVec): 245(ptr) Variable Output
262: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 263 21 25 231 15 37 263 261(outStream.LightVec) 152
270: TypeArray 17(fvec4) 16
271: TypePointer Input 270
272(input.Pos): 271(ptr) Variable Input
273: TypePointer Input 17(fvec4)
277: TypeArray 20(fvec3) 16
278: TypePointer Input 277
279(input.Normal): 278(ptr) Variable Input
280: TypePointer Input 20(fvec3)
284(input.Color): 278(ptr) Variable Input
307: TypePointer Input 10(int)
308(InvocationID): 307(ptr) Variable Input
311(PrimitiveID): 307(ptr) Variable Input
269: TypeArray 17(fvec4) 16
270: TypePointer Input 269
271(input.Pos): 270(ptr) Variable Input
272: TypePointer Input 17(fvec4)
276: TypeArray 20(fvec3) 16
277: TypePointer Input 276
278(input.Normal): 277(ptr) Variable Input
279: TypePointer Input 20(fvec3)
283(input.Color): 277(ptr) Variable Input
306: TypePointer Input 10(int)
307(InvocationID): 306(ptr) Variable Input
310(PrimitiveID): 306(ptr) Variable Input
5(main): 3 Function None 4
6: Label
269(input): 41(ptr) Variable Function
306(InvocationID): 59(ptr) Variable Function
310(PrimitiveID): 59(ptr) Variable Function
313(outStream): 58(ptr) Variable Function
314(param): 41(ptr) Variable Function
316(param): 58(ptr) Variable Function
317(param): 59(ptr) Variable Function
319(param): 59(ptr) Variable Function
274: 273(ptr) AccessChain 272(input.Pos) 94
275: 17(fvec4) Load 274
276: 174(ptr) AccessChain 269(input) 94 94
Store 276 275
281: 280(ptr) AccessChain 279(input.Normal) 94
282: 20(fvec3) Load 281
283: 118(ptr) AccessChain 269(input) 94 117
Store 283 282
285: 280(ptr) AccessChain 284(input.Color) 94
286: 20(fvec3) Load 285
287: 118(ptr) AccessChain 269(input) 94 170
Store 287 286
288: 273(ptr) AccessChain 272(input.Pos) 117
289: 17(fvec4) Load 288
290: 174(ptr) AccessChain 269(input) 117 94
Store 290 289
291: 280(ptr) AccessChain 279(input.Normal) 117
292: 20(fvec3) Load 291
293: 118(ptr) AccessChain 269(input) 117 117
Store 293 292
294: 280(ptr) AccessChain 284(input.Color) 117
295: 20(fvec3) Load 294
296: 118(ptr) AccessChain 269(input) 117 170
Store 296 295
297: 273(ptr) AccessChain 272(input.Pos) 170
298: 17(fvec4) Load 297
299: 174(ptr) AccessChain 269(input) 170 94
Store 299 298
300: 280(ptr) AccessChain 279(input.Normal) 170
301: 20(fvec3) Load 300
302: 118(ptr) AccessChain 269(input) 170 117
Store 302 301
303: 280(ptr) AccessChain 284(input.Color) 170
304: 20(fvec3) Load 303
305: 118(ptr) AccessChain 269(input) 170 170
Store 305 304
309: 10(int) Load 308(InvocationID)
Store 306(InvocationID) 309
312: 10(int) Load 311(PrimitiveID)
Store 310(PrimitiveID) 312
315: 39 Load 269(input)
Store 314(param) 315
318: 10(int) Load 306(InvocationID)
Store 317(param) 318
320: 10(int) Load 310(PrimitiveID)
Store 319(param) 320
321: 3 FunctionCall 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 314(param) 316(param) 317(param) 319(param)
322:42(GSOutput) Load 316(param)
Store 313(outStream) 322
268(input): 41(ptr) Variable Function
305(InvocationID): 59(ptr) Variable Function
309(PrimitiveID): 59(ptr) Variable Function
312(outStream): 58(ptr) Variable Function
313(param): 41(ptr) Variable Function
315(param): 58(ptr) Variable Function
316(param): 59(ptr) Variable Function
318(param): 59(ptr) Variable Function
273: 272(ptr) AccessChain 271(input.Pos) 95
274: 17(fvec4) Load 273
275: 174(ptr) AccessChain 268(input) 95 95
Store 275 274
280: 279(ptr) AccessChain 278(input.Normal) 95
281: 20(fvec3) Load 280
282: 118(ptr) AccessChain 268(input) 95 117
Store 282 281
284: 279(ptr) AccessChain 283(input.Color) 95
285: 20(fvec3) Load 284
286: 118(ptr) AccessChain 268(input) 95 170
Store 286 285
287: 272(ptr) AccessChain 271(input.Pos) 117
288: 17(fvec4) Load 287
289: 174(ptr) AccessChain 268(input) 117 95
Store 289 288
290: 279(ptr) AccessChain 278(input.Normal) 117
291: 20(fvec3) Load 290
292: 118(ptr) AccessChain 268(input) 117 117
Store 292 291
293: 279(ptr) AccessChain 283(input.Color) 117
294: 20(fvec3) Load 293
295: 118(ptr) AccessChain 268(input) 117 170
Store 295 294
296: 272(ptr) AccessChain 271(input.Pos) 170
297: 17(fvec4) Load 296
298: 174(ptr) AccessChain 268(input) 170 95
Store 298 297
299: 279(ptr) AccessChain 278(input.Normal) 170
300: 20(fvec3) Load 299
301: 118(ptr) AccessChain 268(input) 170 117
Store 301 300
302: 279(ptr) AccessChain 283(input.Color) 170
303: 20(fvec3) Load 302
304: 118(ptr) AccessChain 268(input) 170 170
Store 304 303
308: 10(int) Load 307(InvocationID)
Store 305(InvocationID) 308
311: 10(int) Load 310(PrimitiveID)
Store 309(PrimitiveID) 311
314: 39 Load 268(input)
Store 313(param) 314
317: 10(int) Load 305(InvocationID)
Store 316(param) 317
319: 10(int) Load 309(PrimitiveID)
Store 318(param) 319
320: 3 FunctionCall 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 313(param) 315(param) 316(param) 318(param)
321:42(GSOutput) Load 315(param)
Store 312(outStream) 321
Return
FunctionEnd
66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 3 Function None 60
@ -345,8 +345,8 @@ Validation failed
82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 80 64(InvocationID) 75
84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 83 65(PrimitiveID) 75
85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 68 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
Store 90(i) 94
95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 91 94 75
94: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 91 90(i) 75
Store 90(i) 95
Branch 96
96: Label
LoopMerge 98 99 None
@ -356,13 +356,13 @@ Validation failed
106: 103(bool) SLessThan 101 102
BranchConditional 106 97 98
97: Label
Store 107(output) 114
115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 108 114 75
111: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 108 107(output) 75
Store 107(output) 115
116: 86(int) Load 90(i)
119: 118(ptr) AccessChain 62(input) 116 117
120: 20(fvec3) Load 119
153: 10(int) Load 64(InvocationID)
155: 154(ptr) AccessChain 150 94 117 153
155: 154(ptr) AccessChain 150 95 117 153
156: 121 Load 155
159: 17(fvec4) CompositeExtract 156 0
160: 20(fvec3) VectorShuffle 159 159 0 1 2
@ -379,27 +379,27 @@ Validation failed
172: 20(fvec3) Load 171
173: 118(ptr) AccessChain 107(output) 168
Store 173 172
179: 86(int) Load 90(i)
180: 174(ptr) AccessChain 62(input) 179 94
181: 17(fvec4) Load 180
Store 175(pos) 181
182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 176 181 75
187: 17(fvec4) Load 175(pos)
188: 10(int) Load 64(InvocationID)
189: 154(ptr) AccessChain 150 94 117 188
190: 121 Load 189
191: 17(fvec4) VectorTimesMatrix 187 190
Store 183(worldPos) 191
192: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 184 191 75
198: 197(ptr) AccessChain 150 94 170
199: 17(fvec4) Load 198
200: 10(int) Load 64(InvocationID)
201: 154(ptr) AccessChain 150 94 117 200
202: 121 Load 201
203: 17(fvec4) VectorTimesMatrix 199 202
204: 20(fvec3) VectorShuffle 203 203 0 1 2
Store 193(lPos) 204
205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 194 204 75
179: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 176 175(pos) 75
180: 86(int) Load 90(i)
181: 174(ptr) AccessChain 62(input) 180 95
182: 17(fvec4) Load 181
Store 175(pos) 182
187: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 184 183(worldPos) 75
188: 17(fvec4) Load 175(pos)
189: 10(int) Load 64(InvocationID)
190: 154(ptr) AccessChain 150 95 117 189
191: 121 Load 190
192: 17(fvec4) VectorTimesMatrix 188 191
Store 183(worldPos) 192
197: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 194 193(lPos) 75
199: 198(ptr) AccessChain 150 95 170
200: 17(fvec4) Load 199
201: 10(int) Load 64(InvocationID)
202: 154(ptr) AccessChain 150 95 117 201
203: 121 Load 202
204: 17(fvec4) VectorTimesMatrix 200 203
205: 20(fvec3) VectorShuffle 204 204 0 1 2
Store 193(lPos) 205
207: 20(fvec3) Load 193(lPos)
208: 17(fvec4) Load 183(worldPos)
209: 20(fvec3) VectorShuffle 208 208 0 1 2
@ -413,10 +413,10 @@ Validation failed
Store 216 215
217: 17(fvec4) Load 183(worldPos)
218: 10(int) Load 64(InvocationID)
219: 154(ptr) AccessChain 150 94 94 218
219: 154(ptr) AccessChain 150 95 95 218
220: 121 Load 219
221: 17(fvec4) VectorTimesMatrix 217 220
222: 174(ptr) AccessChain 107(output) 94
222: 174(ptr) AccessChain 107(output) 95
Store 222 221
223: 10(int) Load 64(InvocationID)
224: 59(ptr) AccessChain 107(output) 117
@ -424,7 +424,7 @@ Validation failed
225: 10(int) Load 65(PrimitiveID)
226: 59(ptr) AccessChain 107(output) 170
Store 226 225
232: 174(ptr) AccessChain 107(output) 94
232: 174(ptr) AccessChain 107(output) 95
233: 17(fvec4) Load 232
Store 228(outStream.Pos) 233
238: 59(ptr) AccessChain 107(output) 117
@ -451,7 +451,6 @@ Validation failed
266: 86(int) Load 90(i)
267: 86(int) IAdd 266 117
Store 90(i) 267
268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 91 267 75
Branch 96
98: Label
EndPrimitive