mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
Fix function call line number for calls spanning multiple lines.
This commit is contained in:
parent
85262fb20e
commit
704107fda3
@ -6444,6 +6444,9 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reset source location to the function call location after argument evaluation
|
||||||
|
builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename());
|
||||||
|
|
||||||
// 2. Allocate space for anything needing a copy, and if it's "in" or "inout"
|
// 2. Allocate space for anything needing a copy, and if it's "in" or "inout"
|
||||||
// copy the original into that space.
|
// copy the original into that space.
|
||||||
//
|
//
|
||||||
|
162
Test/baseResults/spv.debuginfo.multiline.glsl.frag.out
Normal file
162
Test/baseResults/spv.debuginfo.multiline.glsl.frag.out
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
spv.debuginfo.multiline.glsl.frag
|
||||||
|
// Module Version 10000
|
||||||
|
// Generated by (magic number): 8000b
|
||||||
|
// Id's are bound by 105
|
||||||
|
|
||||||
|
Capability Shader
|
||||||
|
Extension "SPV_KHR_non_semantic_info"
|
||||||
|
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
|
||||||
|
3: ExtInstImport "GLSL.std.450"
|
||||||
|
MemoryModel Logical GLSL450
|
||||||
|
EntryPoint Fragment 14 "main" 73 79
|
||||||
|
ExecutionMode 14 OriginUpperLeft
|
||||||
|
2: String "spv.debuginfo.multiline.glsl.frag"
|
||||||
|
8: String "uint"
|
||||||
|
17: String "float"
|
||||||
|
29: String "add"
|
||||||
|
32: String "// OpModuleProcessed auto-map-locations
|
||||||
|
// OpModuleProcessed auto-map-bindings
|
||||||
|
// OpModuleProcessed client vulkan100
|
||||||
|
// OpModuleProcessed target-env vulkan1.0
|
||||||
|
// OpModuleProcessed keep-uncalled
|
||||||
|
// OpModuleProcessed entry-point main
|
||||||
|
#line 1
|
||||||
|
#version 460
|
||||||
|
|
||||||
|
in float inx;
|
||||||
|
out float outx;
|
||||||
|
|
||||||
|
float add(float x, float y, float z) {
|
||||||
|
return
|
||||||
|
x
|
||||||
|
+
|
||||||
|
y
|
||||||
|
+
|
||||||
|
z
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
outx
|
||||||
|
=
|
||||||
|
add(
|
||||||
|
inx+1,
|
||||||
|
inx+2,
|
||||||
|
inx+3
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}"
|
||||||
|
38: String "x"
|
||||||
|
44: String "y"
|
||||||
|
47: String "z"
|
||||||
|
49: String "main"
|
||||||
|
75: String "outx"
|
||||||
|
81: String "inx"
|
||||||
|
Name 14 "main"
|
||||||
|
Name 27 "add(f1;f1;f1;"
|
||||||
|
Name 24 "x"
|
||||||
|
Name 25 "y"
|
||||||
|
Name 26 "z"
|
||||||
|
Name 73 "outx"
|
||||||
|
Name 79 "inx"
|
||||||
|
Name 97 "param"
|
||||||
|
Name 100 "param"
|
||||||
|
Name 101 "param"
|
||||||
|
Decorate 73(outx) Location 0
|
||||||
|
Decorate 79(inx) Location 0
|
||||||
|
4: TypeVoid
|
||||||
|
5: TypeFunction 4
|
||||||
|
7: TypeInt 32 0
|
||||||
|
10: 7(int) Constant 32
|
||||||
|
11: 7(int) Constant 6
|
||||||
|
12: 7(int) Constant 0
|
||||||
|
9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
|
||||||
|
13: 7(int) Constant 3
|
||||||
|
6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
|
||||||
|
16: TypeFloat 32
|
||||||
|
18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12
|
||||||
|
19: TypePointer Function 16(float)
|
||||||
|
20: 7(int) Constant 7
|
||||||
|
21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 20 12
|
||||||
|
22: TypeFunction 16(float) 19(ptr) 19(ptr) 19(ptr)
|
||||||
|
23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 18 18 18
|
||||||
|
31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 32
|
||||||
|
34: 7(int) Constant 1
|
||||||
|
35: 7(int) Constant 4
|
||||||
|
36: 7(int) Constant 2
|
||||||
|
33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 34 35 31 36
|
||||||
|
30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 29 23 31 11 12 33 29 13 11
|
||||||
|
37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 38 18 31 11 12 30 35 34
|
||||||
|
40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
|
||||||
|
43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 44 18 31 11 12 30 35 36
|
||||||
|
46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 18 31 11 12 30 35 13
|
||||||
|
51: 7(int) Constant 16
|
||||||
|
50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 49 6 31 51 12 33 49 13 51
|
||||||
|
55: 7(int) Constant 8
|
||||||
|
58: 7(int) Constant 10
|
||||||
|
62: 7(int) Constant 12
|
||||||
|
71: TypePointer Output 16(float)
|
||||||
|
72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12
|
||||||
|
73(outx): 71(ptr) Variable Output
|
||||||
|
76: 7(int) Constant 17
|
||||||
|
74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 75 18 31 76 12 33 75 73(outx) 55
|
||||||
|
77: TypePointer Input 16(float)
|
||||||
|
78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12
|
||||||
|
79(inx): 77(ptr) Variable Input
|
||||||
|
82: 7(int) Constant 20
|
||||||
|
80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 81 18 31 82 12 33 81 79(inx) 55
|
||||||
|
85: 16(float) Constant 1065353216
|
||||||
|
89: 7(int) Constant 21
|
||||||
|
90: 16(float) Constant 1073741824
|
||||||
|
94: 7(int) Constant 22
|
||||||
|
95: 16(float) Constant 1077936128
|
||||||
|
99: 7(int) Constant 23
|
||||||
|
104: 7(int) Constant 18
|
||||||
|
14(main): 4 Function None 5
|
||||||
|
15: Label
|
||||||
|
97(param): 19(ptr) Variable Function
|
||||||
|
100(param): 19(ptr) Variable Function
|
||||||
|
101(param): 19(ptr) Variable Function
|
||||||
|
69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50
|
||||||
|
70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12
|
||||||
|
68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main)
|
||||||
|
84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 82 82 12 12
|
||||||
|
83: 16(float) Load 79(inx)
|
||||||
|
86: 16(float) FAdd 83 85
|
||||||
|
88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 89 89 12 12
|
||||||
|
87: 16(float) Load 79(inx)
|
||||||
|
91: 16(float) FAdd 87 90
|
||||||
|
93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 94 94 12 12
|
||||||
|
92: 16(float) Load 79(inx)
|
||||||
|
96: 16(float) FAdd 92 95
|
||||||
|
98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 99 99 12 12
|
||||||
|
Store 97(param) 86
|
||||||
|
Store 100(param) 91
|
||||||
|
Store 101(param) 96
|
||||||
|
102: 16(float) FunctionCall 27(add(f1;f1;f1;) 97(param) 100(param) 101(param)
|
||||||
|
103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 104 104 12 12
|
||||||
|
Store 73(outx) 102
|
||||||
|
Return
|
||||||
|
FunctionEnd
|
||||||
|
27(add(f1;f1;f1;): 16(float) Function None 22
|
||||||
|
24(x): 19(ptr) FunctionParameter
|
||||||
|
25(y): 19(ptr) FunctionParameter
|
||||||
|
26(z): 19(ptr) FunctionParameter
|
||||||
|
28: Label
|
||||||
|
41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 30
|
||||||
|
42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 11 11 12 12
|
||||||
|
39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 37 24(x) 40
|
||||||
|
45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 43 25(y) 40
|
||||||
|
48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 26(z) 40
|
||||||
|
52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 30 27(add(f1;f1;f1;)
|
||||||
|
54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 55 55 12 12
|
||||||
|
53: 16(float) Load 24(x)
|
||||||
|
57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 58 58 12 12
|
||||||
|
56: 16(float) Load 25(y)
|
||||||
|
59: 16(float) FAdd 53 56
|
||||||
|
61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 62 62 12 12
|
||||||
|
60: 16(float) Load 26(z)
|
||||||
|
63: 16(float) FAdd 59 60
|
||||||
|
64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 20 20 12 12
|
||||||
|
ReturnValue 63
|
||||||
|
FunctionEnd
|
25
Test/spv.debuginfo.multiline.glsl.frag
Normal file
25
Test/spv.debuginfo.multiline.glsl.frag
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#version 460
|
||||||
|
|
||||||
|
in float inx;
|
||||||
|
out float outx;
|
||||||
|
|
||||||
|
float add(float x, float y, float z) {
|
||||||
|
return
|
||||||
|
x
|
||||||
|
+
|
||||||
|
y
|
||||||
|
+
|
||||||
|
z
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
outx
|
||||||
|
=
|
||||||
|
add(
|
||||||
|
inx+1,
|
||||||
|
inx+2,
|
||||||
|
inx+3
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
@ -954,6 +954,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||||||
"spv.debuginfo.scalar_types.glsl.frag",
|
"spv.debuginfo.scalar_types.glsl.frag",
|
||||||
"spv.debuginfo.rt_types.glsl.rgen",
|
"spv.debuginfo.rt_types.glsl.rgen",
|
||||||
"spv.debuginfo.include.glsl.frag",
|
"spv.debuginfo.include.glsl.frag",
|
||||||
|
"spv.debuginfo.multiline.glsl.frag",
|
||||||
})),
|
})),
|
||||||
FileNameAsCustomTestSuffix
|
FileNameAsCustomTestSuffix
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user