Add correct line number to OpDebugFunction and OpDebugScope for function:

1. Pull OpDebugFunction, OpDebugScope and OpDebugVariable for params out
   of makeFunctionEntry.
2. Put above in a separate function called setupDebugFunctionEntry,
   which also accept line number and set it correctly in builder.
3. Call setupDebugFunctionEntry in makeFunction. Also special case
   handle entry function since it's created ealier elsewhere.
This commit is contained in:
Chao Chen 2023-10-12 05:42:55 +01:00
parent a2fb1ba2ad
commit 979423d84f
19 changed files with 9076 additions and 9016 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 68
// Id's are bound by 70
Capability Shader
Extension "SPV_KHR_non_semantic_info"
@ -12,8 +12,9 @@ spv.debuginfo.const_params.glsl.comp
ExecutionMode 14 LocalSize 1 1 1
1: String ""
8: String "uint"
15: String "main"
18: String "// OpModuleProcessed auto-map-locations
17: String "float"
35: String "function"
38: String "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
@ -21,18 +22,17 @@ spv.debuginfo.const_params.glsl.comp
// OpModuleProcessed entry-point main
#line 1
"
25: String "float"
40: String "function"
46: String "f"
50: String "f2"
53: String "f3"
56: String "f4"
45: String "f"
49: String "f2"
52: String "f3"
55: String "f4"
57: String "main"
Name 14 "main"
Name 39 "function(f1;vf2;vf3;vf4;"
Name 35 "f"
Name 36 "f2"
Name 37 "f3"
Name 38 "f4"
Name 33 "function(f1;vf2;vf3;vf4;"
Name 29 "f"
Name 30 "f2"
Name 31 "f3"
Name 32 "f4"
4: TypeVoid
5: TypeFunction 4
7: TypeInt 32 0
@ -42,55 +42,57 @@ spv.debuginfo.const_params.glsl.comp
9: 4 ExtInst 2(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
17: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 1 18
20: 7(int) Constant 1
21: 7(int) Constant 4
22: 7(int) Constant 2
19: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 20 21 17 22
16: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 15 6 17 12 12 19 15 13 12
24: TypeFloat 32
26: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 25 10 13 12
27: TypeVector 24(float) 2
28: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 22
29: TypeVector 24(float) 3
30: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 13
31: TypeVector 24(float) 4
32: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 21
33: TypeFunction 4 24(float) 27(fvec2) 29(fvec3) 31(fvec4)
34: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 26 28 30 32
41: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 40 34 17 12 12 19 40 13 12
45: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 26 17 12 12 41 21 20
48: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
49: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 28 17 12 12 41 21 22
52: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 30 17 12 12 41 21 13
55: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 56 32 17 12 12 41 21 21
62: 7(int) Constant 13
63: 24(float) Constant 0
64: 27(fvec2) ConstantComposite 63 63
65: 29(fvec3) ConstantComposite 63 63 63
66: 31(fvec4) ConstantComposite 63 63 63 63
16: TypeFloat 32
18: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12
19: TypeVector 16(float) 2
20: 7(int) Constant 2
21: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 20
22: TypeVector 16(float) 3
23: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13
24: TypeVector 16(float) 4
25: 7(int) Constant 4
26: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 25
27: TypeFunction 4 16(float) 19(fvec2) 22(fvec3) 24(fvec4)
28: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 18 21 23 26
37: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 1 38
39: 7(int) Constant 7
41: 7(int) Constant 1
40: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 41 25 37 20
36: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 35 28 37 39 12 40 35 13 39
44: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 45 18 37 39 12 36 25 41
47: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
48: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 21 37 39 12 36 25 20
51: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 52 23 37 39 12 36 25 13
54: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 55 26 37 39 12 36 25 25
59: 7(int) Constant 11
58: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 57 6 37 59 12 40 57 13 59
64: 7(int) Constant 13
65: 16(float) Constant 0
66: 19(fvec2) ConstantComposite 65 65
67: 22(fvec3) ConstantComposite 65 65 65
68: 24(fvec4) ConstantComposite 65 65 65 65
Line 1 11 11
14(main): 4 Function None 5
23: Label
59: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 16 14(main)
60: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 16
61: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 62 62 12 12
67: 4 FunctionCall 39(function(f1;vf2;vf3;vf4;) 63 64 65 66
15: Label
61: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 14(main)
62: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58
63: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 64 64 12 12
69: 4 FunctionCall 33(function(f1;vf2;vf3;vf4;) 65 66 67 68
Return
FunctionEnd
Line 1 7 18
39(function(f1;vf2;vf3;vf4;): 4 Function None 33
35(f): 24(float) FunctionParameter
36(f2): 27(fvec2) FunctionParameter
37(f3): 29(fvec3) FunctionParameter
38(f4): 31(fvec4) FunctionParameter
42: Label
43: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 41
44: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 12 12 12 12
47: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 45 35(f) 48
51: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 49 36(f2) 48
54: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 37(f3) 48
57: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 38(f4) 48
58: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 41 39(function(f1;vf2;vf3;vf4;)
33(function(f1;vf2;vf3;vf4;): 4 Function None 27
29(f): 16(float) FunctionParameter
30(f2): 19(fvec2) FunctionParameter
31(f3): 22(fvec3) FunctionParameter
32(f4): 24(fvec4) FunctionParameter
34: Label
42: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 36
43: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 39 39 12 12
46: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 29(f) 47
50: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 48 30(f2) 47
53: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 31(f3) 47
56: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 54 32(f4) 47
60: 4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 36 33(function(f1;vf2;vf3;vf4;)
Return
FunctionEnd