mirror of
https://github.com/RPCS3/glslang.git
synced 2025-01-01 16:08:23 +00:00
e770b3e6cf
Structured control-flow rules allow leaving the middle of a construct through a return, but not through a jump to a block that does a return. Addresses issue #58.
345 lines
17 KiB
Plaintext
Executable File
345 lines
17 KiB
Plaintext
Executable File
spv.types.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 99
|
|
// Generated by (magic number): 51a00bb
|
|
// Id's are bound by 263
|
|
|
|
Source GLSL 130
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main"
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Name 4 "main"
|
|
Name 8 "b"
|
|
Name 10 "u_b"
|
|
Name 12 "i_b"
|
|
Name 17 "b2"
|
|
Name 19 "u_b2"
|
|
Name 22 "i_b2"
|
|
Name 35 "b3"
|
|
Name 37 "u_b3"
|
|
Name 40 "i_b3"
|
|
Name 59 "b4"
|
|
Name 61 "u_b4"
|
|
Name 64 "i_b4"
|
|
Name 89 "i"
|
|
Name 91 "u_i"
|
|
Name 94 "i_i"
|
|
Name 99 "i2"
|
|
Name 101 "u_i2"
|
|
Name 104 "i_i2"
|
|
Name 109 "i3"
|
|
Name 111 "u_i3"
|
|
Name 114 "i_i3"
|
|
Name 119 "i4"
|
|
Name 121 "u_i4"
|
|
Name 124 "i_i4"
|
|
Name 129 "f"
|
|
Name 131 "u_f"
|
|
Name 134 "i_f"
|
|
Name 139 "f2"
|
|
Name 141 "u_f2"
|
|
Name 144 "i_f2"
|
|
Name 149 "f3"
|
|
Name 151 "u_f3"
|
|
Name 154 "i_f3"
|
|
Name 159 "f4"
|
|
Name 161 "u_f4"
|
|
Name 164 "i_f4"
|
|
Name 168 "gl_FragColor"
|
|
Decorate 94(i_i) Flat
|
|
Decorate 104(i_i2) Flat
|
|
Decorate 114(i_i3) Flat
|
|
Decorate 124(i_i4) Flat
|
|
Decorate 134(i_f) Smooth
|
|
Decorate 144(i_f2) Smooth
|
|
Decorate 154(i_f3) Smooth
|
|
Decorate 164(i_f4) Smooth
|
|
Decorate 168(gl_FragColor) BuiltIn FragColor
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeBool
|
|
7: TypePointer Function 6(bool)
|
|
9: TypePointer UniformConstant 6(bool)
|
|
10(u_b): 9(ptr) Variable UniformConstant
|
|
12(i_b): 9(ptr) Variable UniformConstant
|
|
15: TypeVector 6(bool) 2
|
|
16: TypePointer Function 15(bvec2)
|
|
18: TypePointer UniformConstant 15(bvec2)
|
|
19(u_b2): 18(ptr) Variable UniformConstant
|
|
22(i_b2): 18(ptr) Variable UniformConstant
|
|
33: TypeVector 6(bool) 3
|
|
34: TypePointer Function 33(bvec3)
|
|
36: TypePointer UniformConstant 33(bvec3)
|
|
37(u_b3): 36(ptr) Variable UniformConstant
|
|
40(i_b3): 36(ptr) Variable UniformConstant
|
|
57: TypeVector 6(bool) 4
|
|
58: TypePointer Function 57(bvec4)
|
|
60: TypePointer UniformConstant 57(bvec4)
|
|
61(u_b4): 60(ptr) Variable UniformConstant
|
|
64(i_b4): 60(ptr) Variable UniformConstant
|
|
87: TypeInt 32 1
|
|
88: TypePointer Function 87(int)
|
|
90: TypePointer UniformConstant 87(int)
|
|
91(u_i): 90(ptr) Variable UniformConstant
|
|
93: TypePointer Input 87(int)
|
|
94(i_i): 93(ptr) Variable Input
|
|
97: TypeVector 87(int) 2
|
|
98: TypePointer Function 97(ivec2)
|
|
100: TypePointer UniformConstant 97(ivec2)
|
|
101(u_i2): 100(ptr) Variable UniformConstant
|
|
103: TypePointer Input 97(ivec2)
|
|
104(i_i2): 103(ptr) Variable Input
|
|
107: TypeVector 87(int) 3
|
|
108: TypePointer Function 107(ivec3)
|
|
110: TypePointer UniformConstant 107(ivec3)
|
|
111(u_i3): 110(ptr) Variable UniformConstant
|
|
113: TypePointer Input 107(ivec3)
|
|
114(i_i3): 113(ptr) Variable Input
|
|
117: TypeVector 87(int) 4
|
|
118: TypePointer Function 117(ivec4)
|
|
120: TypePointer UniformConstant 117(ivec4)
|
|
121(u_i4): 120(ptr) Variable UniformConstant
|
|
123: TypePointer Input 117(ivec4)
|
|
124(i_i4): 123(ptr) Variable Input
|
|
127: TypeFloat 32
|
|
128: TypePointer Function 127(float)
|
|
130: TypePointer UniformConstant 127(float)
|
|
131(u_f): 130(ptr) Variable UniformConstant
|
|
133: TypePointer Input 127(float)
|
|
134(i_f): 133(ptr) Variable Input
|
|
137: TypeVector 127(float) 2
|
|
138: TypePointer Function 137(fvec2)
|
|
140: TypePointer UniformConstant 137(fvec2)
|
|
141(u_f2): 140(ptr) Variable UniformConstant
|
|
143: TypePointer Input 137(fvec2)
|
|
144(i_f2): 143(ptr) Variable Input
|
|
147: TypeVector 127(float) 3
|
|
148: TypePointer Function 147(fvec3)
|
|
150: TypePointer UniformConstant 147(fvec3)
|
|
151(u_f3): 150(ptr) Variable UniformConstant
|
|
153: TypePointer Input 147(fvec3)
|
|
154(i_f3): 153(ptr) Variable Input
|
|
157: TypeVector 127(float) 4
|
|
158: TypePointer Function 157(fvec4)
|
|
160: TypePointer UniformConstant 157(fvec4)
|
|
161(u_f4): 160(ptr) Variable UniformConstant
|
|
163: TypePointer Input 157(fvec4)
|
|
164(i_f4): 163(ptr) Variable Input
|
|
167: TypePointer Output 157(fvec4)
|
|
168(gl_FragColor): 167(ptr) Variable Output
|
|
260: 127(float) Constant 1065353216
|
|
261: 157(fvec4) ConstantComposite 260 260 260 260
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(b): 7(ptr) Variable Function
|
|
17(b2): 16(ptr) Variable Function
|
|
35(b3): 34(ptr) Variable Function
|
|
59(b4): 58(ptr) Variable Function
|
|
89(i): 88(ptr) Variable Function
|
|
99(i2): 98(ptr) Variable Function
|
|
109(i3): 108(ptr) Variable Function
|
|
119(i4): 118(ptr) Variable Function
|
|
129(f): 128(ptr) Variable Function
|
|
139(f2): 138(ptr) Variable Function
|
|
149(f3): 148(ptr) Variable Function
|
|
159(f4): 158(ptr) Variable Function
|
|
169: 158(ptr) Variable Function
|
|
11: 6(bool) Load 10(u_b)
|
|
13: 6(bool) Load 12(i_b)
|
|
14: 6(bool) LogicalAnd 11 13
|
|
Store 8(b) 14
|
|
20: 15(bvec2) Load 19(u_b2)
|
|
21: 6(bool) CompositeExtract 20 0
|
|
23: 15(bvec2) Load 22(i_b2)
|
|
24: 6(bool) CompositeExtract 23 0
|
|
25: 6(bool) LogicalAnd 21 24
|
|
26: 15(bvec2) Load 19(u_b2)
|
|
27: 6(bool) CompositeExtract 26 1
|
|
28: 6(bool) LogicalAnd 25 27
|
|
29: 15(bvec2) Load 22(i_b2)
|
|
30: 6(bool) CompositeExtract 29 1
|
|
31: 6(bool) LogicalAnd 28 30
|
|
32: 15(bvec2) CompositeConstruct 31 31
|
|
Store 17(b2) 32
|
|
38: 33(bvec3) Load 37(u_b3)
|
|
39: 6(bool) CompositeExtract 38 0
|
|
41: 33(bvec3) Load 40(i_b3)
|
|
42: 6(bool) CompositeExtract 41 0
|
|
43: 6(bool) LogicalAnd 39 42
|
|
44: 33(bvec3) Load 37(u_b3)
|
|
45: 6(bool) CompositeExtract 44 1
|
|
46: 6(bool) LogicalAnd 43 45
|
|
47: 33(bvec3) Load 40(i_b3)
|
|
48: 6(bool) CompositeExtract 47 1
|
|
49: 6(bool) LogicalAnd 46 48
|
|
50: 33(bvec3) Load 37(u_b3)
|
|
51: 6(bool) CompositeExtract 50 2
|
|
52: 6(bool) LogicalAnd 49 51
|
|
53: 33(bvec3) Load 40(i_b3)
|
|
54: 6(bool) CompositeExtract 53 2
|
|
55: 6(bool) LogicalAnd 52 54
|
|
56: 33(bvec3) CompositeConstruct 55 55 55
|
|
Store 35(b3) 56
|
|
62: 57(bvec4) Load 61(u_b4)
|
|
63: 6(bool) CompositeExtract 62 0
|
|
65: 57(bvec4) Load 64(i_b4)
|
|
66: 6(bool) CompositeExtract 65 0
|
|
67: 6(bool) LogicalAnd 63 66
|
|
68: 57(bvec4) Load 61(u_b4)
|
|
69: 6(bool) CompositeExtract 68 1
|
|
70: 6(bool) LogicalAnd 67 69
|
|
71: 57(bvec4) Load 64(i_b4)
|
|
72: 6(bool) CompositeExtract 71 1
|
|
73: 6(bool) LogicalAnd 70 72
|
|
74: 57(bvec4) Load 61(u_b4)
|
|
75: 6(bool) CompositeExtract 74 2
|
|
76: 6(bool) LogicalAnd 73 75
|
|
77: 57(bvec4) Load 64(i_b4)
|
|
78: 6(bool) CompositeExtract 77 2
|
|
79: 6(bool) LogicalAnd 76 78
|
|
80: 57(bvec4) Load 61(u_b4)
|
|
81: 6(bool) CompositeExtract 80 3
|
|
82: 6(bool) LogicalAnd 79 81
|
|
83: 57(bvec4) Load 64(i_b4)
|
|
84: 6(bool) CompositeExtract 83 3
|
|
85: 6(bool) LogicalAnd 82 84
|
|
86: 57(bvec4) CompositeConstruct 85 85 85 85
|
|
Store 59(b4) 86
|
|
92: 87(int) Load 91(u_i)
|
|
95: 87(int) Load 94(i_i)
|
|
96: 87(int) IAdd 92 95
|
|
Store 89(i) 96
|
|
102: 97(ivec2) Load 101(u_i2)
|
|
105: 97(ivec2) Load 104(i_i2)
|
|
106: 97(ivec2) IAdd 102 105
|
|
Store 99(i2) 106
|
|
112: 107(ivec3) Load 111(u_i3)
|
|
115: 107(ivec3) Load 114(i_i3)
|
|
116: 107(ivec3) IAdd 112 115
|
|
Store 109(i3) 116
|
|
122: 117(ivec4) Load 121(u_i4)
|
|
125: 117(ivec4) Load 124(i_i4)
|
|
126: 117(ivec4) IAdd 122 125
|
|
Store 119(i4) 126
|
|
132: 127(float) Load 131(u_f)
|
|
135: 127(float) Load 134(i_f)
|
|
136: 127(float) FAdd 132 135
|
|
Store 129(f) 136
|
|
142: 137(fvec2) Load 141(u_f2)
|
|
145: 137(fvec2) Load 144(i_f2)
|
|
146: 137(fvec2) FAdd 142 145
|
|
Store 139(f2) 146
|
|
152: 147(fvec3) Load 151(u_f3)
|
|
155: 147(fvec3) Load 154(i_f3)
|
|
156: 147(fvec3) FAdd 152 155
|
|
Store 149(f3) 156
|
|
162: 157(fvec4) Load 161(u_f4)
|
|
165: 157(fvec4) Load 164(i_f4)
|
|
166: 157(fvec4) FAdd 162 165
|
|
Store 159(f4) 166
|
|
170: 6(bool) Load 8(b)
|
|
171: 15(bvec2) Load 17(b2)
|
|
172: 6(bool) CompositeExtract 171 0
|
|
173: 6(bool) LogicalOr 170 172
|
|
174: 15(bvec2) Load 17(b2)
|
|
175: 6(bool) CompositeExtract 174 1
|
|
176: 6(bool) LogicalOr 173 175
|
|
177: 33(bvec3) Load 35(b3)
|
|
178: 6(bool) CompositeExtract 177 0
|
|
179: 6(bool) LogicalOr 176 178
|
|
180: 33(bvec3) Load 35(b3)
|
|
181: 6(bool) CompositeExtract 180 1
|
|
182: 6(bool) LogicalOr 179 181
|
|
183: 33(bvec3) Load 35(b3)
|
|
184: 6(bool) CompositeExtract 183 2
|
|
185: 6(bool) LogicalOr 182 184
|
|
186: 57(bvec4) Load 59(b4)
|
|
187: 6(bool) CompositeExtract 186 0
|
|
188: 6(bool) LogicalOr 185 187
|
|
189: 57(bvec4) Load 59(b4)
|
|
190: 6(bool) CompositeExtract 189 1
|
|
191: 6(bool) LogicalOr 188 190
|
|
192: 57(bvec4) Load 59(b4)
|
|
193: 6(bool) CompositeExtract 192 2
|
|
194: 6(bool) LogicalOr 191 193
|
|
195: 57(bvec4) Load 59(b4)
|
|
196: 6(bool) CompositeExtract 195 3
|
|
197: 6(bool) LogicalOr 194 196
|
|
SelectionMerge 199 None
|
|
BranchConditional 197 198 259
|
|
198: Label
|
|
200: 87(int) Load 89(i)
|
|
201: 97(ivec2) Load 99(i2)
|
|
202: 87(int) CompositeExtract 201 0
|
|
203: 87(int) IAdd 200 202
|
|
204: 97(ivec2) Load 99(i2)
|
|
205: 87(int) CompositeExtract 204 1
|
|
206: 87(int) IAdd 203 205
|
|
207: 107(ivec3) Load 109(i3)
|
|
208: 87(int) CompositeExtract 207 0
|
|
209: 87(int) IAdd 206 208
|
|
210: 107(ivec3) Load 109(i3)
|
|
211: 87(int) CompositeExtract 210 1
|
|
212: 87(int) IAdd 209 211
|
|
213: 107(ivec3) Load 109(i3)
|
|
214: 87(int) CompositeExtract 213 2
|
|
215: 87(int) IAdd 212 214
|
|
216: 117(ivec4) Load 119(i4)
|
|
217: 87(int) CompositeExtract 216 0
|
|
218: 87(int) IAdd 215 217
|
|
219: 117(ivec4) Load 119(i4)
|
|
220: 87(int) CompositeExtract 219 1
|
|
221: 87(int) IAdd 218 220
|
|
222: 117(ivec4) Load 119(i4)
|
|
223: 87(int) CompositeExtract 222 2
|
|
224: 87(int) IAdd 221 223
|
|
225: 117(ivec4) Load 119(i4)
|
|
226: 87(int) CompositeExtract 225 3
|
|
227: 87(int) IAdd 224 226
|
|
228: 127(float) ConvertSToF 227
|
|
229: 127(float) Load 129(f)
|
|
230: 127(float) FAdd 228 229
|
|
231: 137(fvec2) Load 139(f2)
|
|
232: 127(float) CompositeExtract 231 0
|
|
233: 127(float) FAdd 230 232
|
|
234: 137(fvec2) Load 139(f2)
|
|
235: 127(float) CompositeExtract 234 1
|
|
236: 127(float) FAdd 233 235
|
|
237: 147(fvec3) Load 149(f3)
|
|
238: 127(float) CompositeExtract 237 0
|
|
239: 127(float) FAdd 236 238
|
|
240: 147(fvec3) Load 149(f3)
|
|
241: 127(float) CompositeExtract 240 1
|
|
242: 127(float) FAdd 239 241
|
|
243: 147(fvec3) Load 149(f3)
|
|
244: 127(float) CompositeExtract 243 2
|
|
245: 127(float) FAdd 242 244
|
|
246: 157(fvec4) Load 159(f4)
|
|
247: 127(float) CompositeExtract 246 0
|
|
248: 127(float) FAdd 245 247
|
|
249: 157(fvec4) Load 159(f4)
|
|
250: 127(float) CompositeExtract 249 1
|
|
251: 127(float) FAdd 248 250
|
|
252: 157(fvec4) Load 159(f4)
|
|
253: 127(float) CompositeExtract 252 2
|
|
254: 127(float) FAdd 251 253
|
|
255: 157(fvec4) Load 159(f4)
|
|
256: 127(float) CompositeExtract 255 3
|
|
257: 127(float) FAdd 254 256
|
|
258: 157(fvec4) CompositeConstruct 257 257 257 257
|
|
Store 169 258
|
|
Branch 199
|
|
259: Label
|
|
Store 169 261
|
|
Branch 199
|
|
199: Label
|
|
262: 157(fvec4) Load 169
|
|
Store 168(gl_FragColor) 262
|
|
Return
|
|
FunctionEnd
|