
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
233 lines
10 KiB
Plaintext
Executable File
233 lines
10 KiB
Plaintext
Executable File
spv.functionSemantics.frag
|
|
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 153
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 149
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 400
|
|
Name 4 "main"
|
|
Name 15 "foo(i1;i1;i1;i1;i1;i1;"
|
|
Name 9 "a"
|
|
Name 10 "b"
|
|
Name 11 "c"
|
|
Name 12 "d"
|
|
Name 13 "e"
|
|
Name 14 "f"
|
|
Name 25 "foo2(f1;vf3;i1;"
|
|
Name 22 "a"
|
|
Name 23 "b"
|
|
Name 24 "r"
|
|
Name 28 "foo3("
|
|
Name 30 "sum"
|
|
Name 74 "u"
|
|
Name 86 "t"
|
|
Name 89 "s"
|
|
MemberName 89(s) 0 "t"
|
|
Name 91 "f"
|
|
Name 95 "color"
|
|
Name 101 "e"
|
|
Name 102 "param"
|
|
Name 103 "param"
|
|
Name 104 "param"
|
|
Name 105 "param"
|
|
Name 120 "ret"
|
|
Name 122 "tempReturn"
|
|
Name 127 "tempArg"
|
|
Name 128 "param"
|
|
Name 129 "param"
|
|
Name 130 "param"
|
|
Name 133 "arg"
|
|
Name 149 "gl_FragColor"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypePointer Function 6(int)
|
|
8: TypeFunction 6(int) 7(ptr) 6(int) 7(ptr) 6(int) 7(ptr) 7(ptr)
|
|
17: TypeFloat 32
|
|
18: TypePointer Function 17(float)
|
|
19: TypeVector 17(float) 3
|
|
20: TypePointer Function 19(fvec3)
|
|
21: TypeFunction 6(int) 18(ptr) 20(ptr) 7(ptr)
|
|
27: TypeFunction 6(int)
|
|
38: 6(int) Constant 64
|
|
43: 6(int) Constant 1024
|
|
61: 17(float) Constant 1077936128
|
|
65: 17(float) Constant 1084227584
|
|
66: TypeInt 32 0
|
|
67: 66(int) Constant 1
|
|
73: TypePointer UniformConstant 17(float)
|
|
74(u): 73(ptr) Variable UniformConstant
|
|
76: 17(float) Constant 1078774989
|
|
77: TypeBool
|
|
82: 6(int) Constant 1000000
|
|
84: 6(int) Constant 2000000
|
|
87: 6(int) Constant 2
|
|
88: TypeVector 6(int) 4
|
|
89(s): TypeStruct 88(ivec4)
|
|
90: TypePointer Function 89(s)
|
|
92: 6(int) Constant 0
|
|
93: 6(int) Constant 32
|
|
96: 6(int) Constant 1
|
|
100: 6(int) Constant 8
|
|
112: 6(int) Constant 128
|
|
121: TypePointer Private 6(int)
|
|
122(tempReturn): 121(ptr) Variable Private
|
|
123: 17(float) Constant 1082130432
|
|
124: 17(float) Constant 1065353216
|
|
125: 17(float) Constant 1073741824
|
|
126: 19(fvec3) ConstantComposite 124 125 61
|
|
147: TypeVector 17(float) 4
|
|
148: TypePointer Output 147(fvec4)
|
|
149(gl_FragColor): 148(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
86(t): 7(ptr) Variable Function
|
|
91(f): 90(ptr) Variable Function
|
|
95(color): 7(ptr) Variable Function
|
|
101(e): 7(ptr) Variable Function
|
|
102(param): 7(ptr) Variable Function
|
|
103(param): 7(ptr) Variable Function
|
|
104(param): 7(ptr) Variable Function
|
|
105(param): 7(ptr) Variable Function
|
|
120(ret): 18(ptr) Variable Function
|
|
127(tempArg): 7(ptr) Variable Function
|
|
128(param): 18(ptr) Variable Function
|
|
129(param): 20(ptr) Variable Function
|
|
130(param): 7(ptr) Variable Function
|
|
133(arg): 18(ptr) Variable Function
|
|
Store 86(t) 87
|
|
94: 7(ptr) AccessChain 91(f) 92 67
|
|
Store 94 93
|
|
97: 6(int) Load 86(t)
|
|
98: 6(int) Load 86(t)
|
|
99: 6(int) IAdd 97 98
|
|
Store 102(param) 96
|
|
Store 103(param) 99
|
|
106: 7(ptr) AccessChain 91(f) 92 67
|
|
107: 6(int) Load 106
|
|
Store 105(param) 107
|
|
108: 6(int) FunctionCall 15(foo(i1;i1;i1;i1;i1;i1;) 102(param) 87 103(param) 100 104(param) 105(param)
|
|
109: 6(int) Load 104(param)
|
|
Store 101(e) 109
|
|
110: 6(int) Load 105(param)
|
|
111: 7(ptr) AccessChain 91(f) 92 67
|
|
Store 111 110
|
|
Store 95(color) 108
|
|
113: 6(int) Load 101(e)
|
|
114: 7(ptr) AccessChain 91(f) 92 67
|
|
115: 6(int) Load 114
|
|
116: 6(int) IAdd 113 115
|
|
117: 6(int) IMul 112 116
|
|
118: 6(int) Load 95(color)
|
|
119: 6(int) IAdd 118 117
|
|
Store 95(color) 119
|
|
Store 128(param) 123
|
|
Store 129(param) 126
|
|
131: 6(int) FunctionCall 25(foo2(f1;vf3;i1;) 128(param) 129(param) 130(param)
|
|
132: 6(int) Load 130(param)
|
|
Store 127(tempArg) 132
|
|
Store 122(tempReturn) 131
|
|
134: 6(int) Load 127(tempArg)
|
|
135: 17(float) ConvertSToF 134
|
|
Store 133(arg) 135
|
|
136: 6(int) Load 122(tempReturn)
|
|
137: 17(float) ConvertSToF 136
|
|
Store 120(ret) 137
|
|
138: 17(float) Load 120(ret)
|
|
139: 17(float) Load 133(arg)
|
|
140: 17(float) FAdd 138 139
|
|
141: 6(int) ConvertFToS 140
|
|
142: 6(int) Load 95(color)
|
|
143: 6(int) IAdd 142 141
|
|
Store 95(color) 143
|
|
144: 6(int) FunctionCall 28(foo3()
|
|
145: 6(int) Load 95(color)
|
|
146: 6(int) IAdd 145 144
|
|
Store 95(color) 146
|
|
150: 6(int) Load 95(color)
|
|
151: 17(float) ConvertSToF 150
|
|
152: 147(fvec4) CompositeConstruct 151 151 151 151
|
|
Store 149(gl_FragColor) 152
|
|
Return
|
|
FunctionEnd
|
|
15(foo(i1;i1;i1;i1;i1;i1;): 6(int) Function None 8
|
|
9(a): 7(ptr) FunctionParameter
|
|
10(b): 6(int) FunctionParameter
|
|
11(c): 7(ptr) FunctionParameter
|
|
12(d): 6(int) FunctionParameter
|
|
13(e): 7(ptr) FunctionParameter
|
|
14(f): 7(ptr) FunctionParameter
|
|
16: Label
|
|
30(sum): 7(ptr) Variable Function
|
|
31: 6(int) Load 9(a)
|
|
32: 6(int) IAdd 31 10(b)
|
|
33: 6(int) Load 11(c)
|
|
34: 6(int) IAdd 32 33
|
|
35: 6(int) IAdd 34 12(d)
|
|
36: 6(int) Load 14(f)
|
|
37: 6(int) IAdd 35 36
|
|
Store 30(sum) 37
|
|
39: 6(int) Load 9(a)
|
|
40: 6(int) IMul 39 38
|
|
Store 9(a) 40
|
|
41: 6(int) Load 11(c)
|
|
42: 6(int) IMul 41 38
|
|
Store 11(c) 42
|
|
Store 13(e) 43
|
|
44: 6(int) Load 14(f)
|
|
45: 6(int) IMul 44 38
|
|
Store 14(f) 45
|
|
46: 6(int) Load 9(a)
|
|
47: 6(int) IMul 38 10(b)
|
|
48: 6(int) IAdd 46 47
|
|
49: 6(int) Load 11(c)
|
|
50: 6(int) IAdd 48 49
|
|
51: 6(int) IMul 38 12(d)
|
|
52: 6(int) IAdd 50 51
|
|
53: 6(int) Load 13(e)
|
|
54: 6(int) IAdd 52 53
|
|
55: 6(int) Load 14(f)
|
|
56: 6(int) IAdd 54 55
|
|
57: 6(int) Load 30(sum)
|
|
58: 6(int) IAdd 57 56
|
|
Store 30(sum) 58
|
|
59: 6(int) Load 30(sum)
|
|
ReturnValue 59
|
|
FunctionEnd
|
|
25(foo2(f1;vf3;i1;): 6(int) Function None 21
|
|
22(a): 18(ptr) FunctionParameter
|
|
23(b): 20(ptr) FunctionParameter
|
|
24(r): 7(ptr) FunctionParameter
|
|
26: Label
|
|
62: 17(float) Load 22(a)
|
|
63: 17(float) FMul 61 62
|
|
64: 6(int) ConvertFToS 63
|
|
Store 24(r) 64
|
|
68: 18(ptr) AccessChain 23(b) 67
|
|
69: 17(float) Load 68
|
|
70: 17(float) FMul 65 69
|
|
71: 6(int) ConvertFToS 70
|
|
ReturnValue 71
|
|
FunctionEnd
|
|
28(foo3(): 6(int) Function None 27
|
|
29: Label
|
|
75: 17(float) Load 74(u)
|
|
78: 77(bool) FOrdGreaterThan 75 76
|
|
SelectionMerge 80 None
|
|
BranchConditional 78 79 80
|
|
79: Label
|
|
Kill
|
|
80: Label
|
|
ReturnValue 84
|
|
FunctionEnd
|