
A removed block releases its instructions, so Module::idToInstruction suddenly contains dangling references. The original motivation for block removal was to skip some unreachable blocks, but that's already achieved by InReadableOrder.cpp. Also updated stale comments.
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 156
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 152
|
|
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 76 "u"
|
|
Name 89 "t"
|
|
Name 92 "s"
|
|
MemberName 92(s) 0 "t"
|
|
Name 94 "f"
|
|
Name 98 "color"
|
|
Name 104 "e"
|
|
Name 105 "param"
|
|
Name 106 "param"
|
|
Name 107 "param"
|
|
Name 108 "param"
|
|
Name 123 "ret"
|
|
Name 125 "tempReturn"
|
|
Name 130 "tempArg"
|
|
Name 131 "param"
|
|
Name 132 "param"
|
|
Name 133 "param"
|
|
Name 136 "arg"
|
|
Name 152 "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
|
|
62: 17(float) Constant 1077936128
|
|
66: 17(float) Constant 1084227584
|
|
67: TypeInt 32 0
|
|
68: 67(int) Constant 1
|
|
75: TypePointer UniformConstant 17(float)
|
|
76(u): 75(ptr) Variable UniformConstant
|
|
78: 17(float) Constant 1078774989
|
|
79: TypeBool
|
|
84: 6(int) Constant 1000000
|
|
86: 6(int) Constant 2000000
|
|
90: 6(int) Constant 2
|
|
91: TypeVector 6(int) 4
|
|
92(s): TypeStruct 91(ivec4)
|
|
93: TypePointer Function 92(s)
|
|
95: 6(int) Constant 0
|
|
96: 6(int) Constant 32
|
|
99: 6(int) Constant 1
|
|
103: 6(int) Constant 8
|
|
115: 6(int) Constant 128
|
|
124: TypePointer Private 6(int)
|
|
125(tempReturn): 124(ptr) Variable Private
|
|
126: 17(float) Constant 1082130432
|
|
127: 17(float) Constant 1065353216
|
|
128: 17(float) Constant 1073741824
|
|
129: 19(fvec3) ConstantComposite 127 128 62
|
|
150: TypeVector 17(float) 4
|
|
151: TypePointer Output 150(fvec4)
|
|
152(gl_FragColor): 151(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
89(t): 7(ptr) Variable Function
|
|
94(f): 93(ptr) Variable Function
|
|
98(color): 7(ptr) Variable Function
|
|
104(e): 7(ptr) Variable Function
|
|
105(param): 7(ptr) Variable Function
|
|
106(param): 7(ptr) Variable Function
|
|
107(param): 7(ptr) Variable Function
|
|
108(param): 7(ptr) Variable Function
|
|
123(ret): 18(ptr) Variable Function
|
|
130(tempArg): 7(ptr) Variable Function
|
|
131(param): 18(ptr) Variable Function
|
|
132(param): 20(ptr) Variable Function
|
|
133(param): 7(ptr) Variable Function
|
|
136(arg): 18(ptr) Variable Function
|
|
Store 89(t) 90
|
|
97: 7(ptr) AccessChain 94(f) 95 68
|
|
Store 97 96
|
|
100: 6(int) Load 89(t)
|
|
101: 6(int) Load 89(t)
|
|
102: 6(int) IAdd 100 101
|
|
Store 105(param) 99
|
|
Store 106(param) 102
|
|
109: 7(ptr) AccessChain 94(f) 95 68
|
|
110: 6(int) Load 109
|
|
Store 108(param) 110
|
|
111: 6(int) FunctionCall 15(foo(i1;i1;i1;i1;i1;i1;) 105(param) 90 106(param) 103 107(param) 108(param)
|
|
112: 6(int) Load 107(param)
|
|
Store 104(e) 112
|
|
113: 6(int) Load 108(param)
|
|
114: 7(ptr) AccessChain 94(f) 95 68
|
|
Store 114 113
|
|
Store 98(color) 111
|
|
116: 6(int) Load 104(e)
|
|
117: 7(ptr) AccessChain 94(f) 95 68
|
|
118: 6(int) Load 117
|
|
119: 6(int) IAdd 116 118
|
|
120: 6(int) IMul 115 119
|
|
121: 6(int) Load 98(color)
|
|
122: 6(int) IAdd 121 120
|
|
Store 98(color) 122
|
|
Store 131(param) 126
|
|
Store 132(param) 129
|
|
134: 6(int) FunctionCall 25(foo2(f1;vf3;i1;) 131(param) 132(param) 133(param)
|
|
135: 6(int) Load 133(param)
|
|
Store 130(tempArg) 135
|
|
Store 125(tempReturn) 134
|
|
137: 6(int) Load 130(tempArg)
|
|
138: 17(float) ConvertSToF 137
|
|
Store 136(arg) 138
|
|
139: 6(int) Load 125(tempReturn)
|
|
140: 17(float) ConvertSToF 139
|
|
Store 123(ret) 140
|
|
141: 17(float) Load 123(ret)
|
|
142: 17(float) Load 136(arg)
|
|
143: 17(float) FAdd 141 142
|
|
144: 6(int) ConvertFToS 143
|
|
145: 6(int) Load 98(color)
|
|
146: 6(int) IAdd 145 144
|
|
Store 98(color) 146
|
|
147: 6(int) FunctionCall 28(foo3()
|
|
148: 6(int) Load 98(color)
|
|
149: 6(int) IAdd 148 147
|
|
Store 98(color) 149
|
|
153: 6(int) Load 98(color)
|
|
154: 17(float) ConvertSToF 153
|
|
155: 150(fvec4) CompositeConstruct 154 154 154 154
|
|
Store 152(gl_FragColor) 155
|
|
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
|
|
63: 17(float) Load 22(a)
|
|
64: 17(float) FMul 62 63
|
|
65: 6(int) ConvertFToS 64
|
|
Store 24(r) 65
|
|
69: 18(ptr) AccessChain 23(b) 68
|
|
70: 17(float) Load 69
|
|
71: 17(float) FMul 66 70
|
|
72: 6(int) ConvertFToS 71
|
|
ReturnValue 72
|
|
FunctionEnd
|
|
28(foo3(): 6(int) Function None 27
|
|
29: Label
|
|
77: 17(float) Load 76(u)
|
|
80: 79(bool) FOrdGreaterThan 77 78
|
|
SelectionMerge 82 None
|
|
BranchConditional 80 81 82
|
|
81: Label
|
|
Kill
|
|
82: Label
|
|
ReturnValue 86
|
|
FunctionEnd
|