Sanitize debug source location tracking for implicit branch and return

This patch tries to attach debug location of a branch/return instruction to its predecessor or the closing brace. If none could be found, no debug info should be emitted.
This commit is contained in:
Qingyuan Zheng 2024-08-26 03:53:07 +00:00 committed by arcady-lunarg
parent b1fac200c4
commit a496a34b43
30 changed files with 4713 additions and 4253 deletions

View file

@ -1,7 +1,7 @@
spv.debuginfo.const_params.glsl.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 71
// Id's are bound by 73
Capability Shader
Extension "SPV_KHR_non_semantic_info"
@ -85,6 +85,7 @@ void main()
66: 22(fvec3) ConstantComposite 64 64 64
67: 24(fvec4) ConstantComposite 64 64 64 64
70: 7(int) Constant 13
72: 7(int) Constant 14
14(main): 4 Function None 5
15: Label
62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58
@ -92,6 +93,7 @@ void main()
61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 14(main)
69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 70 70 12 12
68: 4 FunctionCall 33(function(f1;vf2;vf3;vf4;) 64 65 66 67
71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 72 72 12 12
Return
FunctionEnd
33(function(f1;vf2;vf3;vf4;): 4 Function None 27