Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
127 lines
5.6 KiB
Plaintext
Executable File
127 lines
5.6 KiB
Plaintext
Executable File
spv.functionCall.frag
|
|
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 76
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 57 68
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 130
|
|
Name 4 "main"
|
|
Name 11 "foo(vf4;"
|
|
Name 10 "bar"
|
|
Name 13 "bar("
|
|
Name 16 "unreachableReturn("
|
|
Name 18 "missingReturn("
|
|
Name 21 "h"
|
|
Name 34 "d"
|
|
Name 55 "color"
|
|
Name 57 "BaseColor"
|
|
Name 58 "param"
|
|
Name 63 "f"
|
|
Name 65 "g"
|
|
Name 68 "gl_FragColor"
|
|
Name 75 "bigColor"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
9: TypeFunction 6(float) 8(ptr)
|
|
15: TypeFunction 6(float)
|
|
20: TypePointer Private 6(float)
|
|
21(h): 20(ptr) Variable Private
|
|
22: 6(float) Constant 0
|
|
23: TypeInt 32 0
|
|
24: 23(int) Constant 0
|
|
25: TypePointer Function 6(float)
|
|
28: 23(int) Constant 1
|
|
33: TypePointer UniformConstant 6(float)
|
|
34(d): 33(ptr) Variable UniformConstant
|
|
36: 6(float) Constant 1082549862
|
|
37: TypeBool
|
|
41: 6(float) Constant 1067030938
|
|
44: 6(float) Constant 1083179008
|
|
52: 6(float) Constant 1081711002
|
|
56: TypePointer Input 7(fvec4)
|
|
57(BaseColor): 56(ptr) Variable Input
|
|
67: TypePointer Output 7(fvec4)
|
|
68(gl_FragColor): 67(ptr) Variable Output
|
|
74: TypePointer UniformConstant 7(fvec4)
|
|
75(bigColor): 74(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
55(color): 8(ptr) Variable Function
|
|
58(param): 8(ptr) Variable Function
|
|
63(f): 25(ptr) Variable Function
|
|
65(g): 25(ptr) Variable Function
|
|
Store 21(h) 22
|
|
59: 7(fvec4) Load 57(BaseColor)
|
|
Store 58(param) 59
|
|
60: 6(float) FunctionCall 11(foo(vf4;) 58(param)
|
|
61: 7(fvec4) CompositeConstruct 60 60 60 60
|
|
Store 55(color) 61
|
|
62: 2 FunctionCall 13(bar()
|
|
64: 6(float) FunctionCall 16(unreachableReturn()
|
|
Store 63(f) 64
|
|
66: 6(float) FunctionCall 18(missingReturn()
|
|
Store 65(g) 66
|
|
69: 7(fvec4) Load 55(color)
|
|
70: 6(float) Load 63(f)
|
|
71: 7(fvec4) VectorTimesScalar 69 70
|
|
72: 6(float) Load 21(h)
|
|
73: 7(fvec4) VectorTimesScalar 71 72
|
|
Store 68(gl_FragColor) 73
|
|
Return
|
|
FunctionEnd
|
|
11(foo(vf4;): 6(float) Function None 9
|
|
10(bar): 8(ptr) FunctionParameter
|
|
12: Label
|
|
26: 25(ptr) AccessChain 10(bar) 24
|
|
27: 6(float) Load 26
|
|
29: 25(ptr) AccessChain 10(bar) 28
|
|
30: 6(float) Load 29
|
|
31: 6(float) FAdd 27 30
|
|
ReturnValue 31
|
|
FunctionEnd
|
|
13(bar(): 2 Function None 3
|
|
14: Label
|
|
Return
|
|
FunctionEnd
|
|
16(unreachableReturn(): 6(float) Function None 15
|
|
17: Label
|
|
35: 6(float) Load 34(d)
|
|
38: 37(bool) FOrdLessThan 35 36
|
|
SelectionMerge 40 None
|
|
BranchConditional 38 39 43
|
|
39: Label
|
|
ReturnValue 41
|
|
43: Label
|
|
ReturnValue 44
|
|
40: Label
|
|
46: 6(float) Undef
|
|
ReturnValue 46
|
|
FunctionEnd
|
|
18(missingReturn(): 6(float) Function None 15
|
|
19: Label
|
|
47: 6(float) Load 34(d)
|
|
48: 37(bool) FOrdLessThan 47 44
|
|
SelectionMerge 50 None
|
|
BranchConditional 48 49 50
|
|
49: Label
|
|
51: 6(float) Load 34(d)
|
|
Store 21(h) 51
|
|
ReturnValue 52
|
|
50: Label
|
|
54: 6(float) Undef
|
|
ReturnValue 54
|
|
FunctionEnd
|