SPV return from main: Simplify a legacy design such returns are not jumps to exit block.

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.
This commit is contained in:
John Kessenich
2015-09-14 20:58:02 -06:00
parent 5f5b205ce9
commit e770b3e6cf
74 changed files with 9648 additions and 9816 deletions

View File

@@ -8,7 +8,7 @@ Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 283
// Id's are bound by 282
Source GLSL 130
Capability Shader
@@ -17,359 +17,357 @@ Linked fragment stage:
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "blendscale"
Name 11 "bias"
Name 13 "lod"
Name 15 "proj"
Name 16 "coords1D"
Name 19 "coords3D"
Name 25 "coords4D"
Name 27 "color"
Name 33 "texSampler1D"
Name 48 "coords2D"
Name 73 "texSampler2D"
Name 99 "texSampler3D"
Name 125 "texSamplerCube"
Name 140 "shadowSampler1D"
Name 157 "shadowSampler2D"
Name 200 "iCoords2D"
Name 205 "iLod"
Name 214 "gradX"
Name 217 "gradY"
Name 269 "gl_FragColor"
Name 272 "u"
Name 275 "blend"
Name 281 "scale"
Name 282 "t"
Decorate 48(coords2D) Smooth
Decorate 269(gl_FragColor) BuiltIn FragColor
Decorate 281(scale) NoStaticUse
Decorate 282(t) Smooth
Decorate 282(t) NoStaticUse
Name 8 "blendscale"
Name 10 "bias"
Name 12 "lod"
Name 14 "proj"
Name 15 "coords1D"
Name 18 "coords3D"
Name 24 "coords4D"
Name 26 "color"
Name 32 "texSampler1D"
Name 47 "coords2D"
Name 72 "texSampler2D"
Name 98 "texSampler3D"
Name 124 "texSamplerCube"
Name 139 "shadowSampler1D"
Name 156 "shadowSampler2D"
Name 199 "iCoords2D"
Name 204 "iLod"
Name 213 "gradX"
Name 216 "gradY"
Name 268 "gl_FragColor"
Name 271 "u"
Name 274 "blend"
Name 280 "scale"
Name 281 "t"
Decorate 47(coords2D) Smooth
Decorate 268(gl_FragColor) BuiltIn FragColor
Decorate 280(scale) NoStaticUse
Decorate 281(t) Smooth
Decorate 281(t) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypePointer Function 7(float)
10: 7(float) Constant 1071971828
12: 7(float) Constant 1073741824
14: 7(float) Constant 1077936128
17: TypeVector 7(float) 3
18: TypePointer Function 17(fvec3)
20: 7(float) Constant 1076753334
21: 7(float) Constant 1079836148
22: 17(fvec3) ConstantComposite 10 20 21
23: TypeVector 7(float) 4
24: TypePointer Function 23(fvec4)
26: 23(fvec4) ConstantComposite 10 20 21 12
28: 7(float) Constant 0
29: 23(fvec4) ConstantComposite 28 28 28 28
30: TypeImage 7(float) 1D sampled format:Unknown
31: TypeSampledImage 30
32: TypePointer UniformConstant 31
33(texSampler1D): 32(ptr) Variable UniformConstant
46: TypeVector 7(float) 2
47: TypePointer Input 46(fvec2)
48(coords2D): 47(ptr) Variable Input
70: TypeImage 7(float) 2D sampled format:Unknown
71: TypeSampledImage 70
72: TypePointer UniformConstant 71
73(texSampler2D): 72(ptr) Variable UniformConstant
96: TypeImage 7(float) 3D sampled format:Unknown
97: TypeSampledImage 96
98: TypePointer UniformConstant 97
99(texSampler3D): 98(ptr) Variable UniformConstant
122: TypeImage 7(float) Cube sampled format:Unknown
123: TypeSampledImage 122
124: TypePointer UniformConstant 123
125(texSamplerCube): 124(ptr) Variable UniformConstant
137: TypeImage 7(float) 1D depth sampled format:Unknown
138: TypeSampledImage 137
139: TypePointer UniformConstant 138
140(shadowSampler1D): 139(ptr) Variable UniformConstant
154: TypeImage 7(float) 2D depth sampled format:Unknown
155: TypeSampledImage 154
156: TypePointer UniformConstant 155
157(shadowSampler2D): 156(ptr) Variable UniformConstant
197: TypeInt 32 1
198: TypeVector 197(int) 2
199: TypePointer Function 198(ivec2)
201: 197(int) Constant 0
202: 197(int) Constant 5
203: 198(ivec2) ConstantComposite 201 202
204: TypePointer Function 197(int)
206: 197(int) Constant 1
213: TypePointer Function 46(fvec2)
242: 197(int) Constant 3
243: 197(int) Constant 4294967289
244: 198(ivec2) ConstantComposite 242 243
268: TypePointer Output 23(fvec4)
269(gl_FragColor): 268(ptr) Variable Output
271: TypePointer UniformConstant 23(fvec4)
272(u): 271(ptr) Variable UniformConstant
274: TypePointer UniformConstant 7(float)
275(blend): 274(ptr) Variable UniformConstant
280: TypePointer UniformConstant 46(fvec2)
281(scale): 280(ptr) Variable UniformConstant
282(t): 47(ptr) Variable Input
6: TypeFloat 32
7: TypePointer Function 6(float)
9: 6(float) Constant 1071971828
11: 6(float) Constant 1073741824
13: 6(float) Constant 1077936128
16: TypeVector 6(float) 3
17: TypePointer Function 16(fvec3)
19: 6(float) Constant 1076753334
20: 6(float) Constant 1079836148
21: 16(fvec3) ConstantComposite 9 19 20
22: TypeVector 6(float) 4
23: TypePointer Function 22(fvec4)
25: 22(fvec4) ConstantComposite 9 19 20 11
27: 6(float) Constant 0
28: 22(fvec4) ConstantComposite 27 27 27 27
29: TypeImage 6(float) 1D sampled format:Unknown
30: TypeSampledImage 29
31: TypePointer UniformConstant 30
32(texSampler1D): 31(ptr) Variable UniformConstant
45: TypeVector 6(float) 2
46: TypePointer Input 45(fvec2)
47(coords2D): 46(ptr) Variable Input
69: TypeImage 6(float) 2D sampled format:Unknown
70: TypeSampledImage 69
71: TypePointer UniformConstant 70
72(texSampler2D): 71(ptr) Variable UniformConstant
95: TypeImage 6(float) 3D sampled format:Unknown
96: TypeSampledImage 95
97: TypePointer UniformConstant 96
98(texSampler3D): 97(ptr) Variable UniformConstant
121: TypeImage 6(float) Cube sampled format:Unknown
122: TypeSampledImage 121
123: TypePointer UniformConstant 122
124(texSamplerCube): 123(ptr) Variable UniformConstant
136: TypeImage 6(float) 1D depth sampled format:Unknown
137: TypeSampledImage 136
138: TypePointer UniformConstant 137
139(shadowSampler1D): 138(ptr) Variable UniformConstant
153: TypeImage 6(float) 2D depth sampled format:Unknown
154: TypeSampledImage 153
155: TypePointer UniformConstant 154
156(shadowSampler2D): 155(ptr) Variable UniformConstant
196: TypeInt 32 1
197: TypeVector 196(int) 2
198: TypePointer Function 197(ivec2)
200: 196(int) Constant 0
201: 196(int) Constant 5
202: 197(ivec2) ConstantComposite 200 201
203: TypePointer Function 196(int)
205: 196(int) Constant 1
212: TypePointer Function 45(fvec2)
241: 196(int) Constant 3
242: 196(int) Constant 4294967289
243: 197(ivec2) ConstantComposite 241 242
267: TypePointer Output 22(fvec4)
268(gl_FragColor): 267(ptr) Variable Output
270: TypePointer UniformConstant 22(fvec4)
271(u): 270(ptr) Variable UniformConstant
273: TypePointer UniformConstant 6(float)
274(blend): 273(ptr) Variable UniformConstant
279: TypePointer UniformConstant 45(fvec2)
280(scale): 279(ptr) Variable UniformConstant
281(t): 46(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(blendscale): 8(ptr) Variable Function
11(bias): 8(ptr) Variable Function
13(lod): 8(ptr) Variable Function
15(proj): 8(ptr) Variable Function
16(coords1D): 8(ptr) Variable Function
19(coords3D): 18(ptr) Variable Function
25(coords4D): 24(ptr) Variable Function
27(color): 24(ptr) Variable Function
200(iCoords2D): 199(ptr) Variable Function
205(iLod): 204(ptr) Variable Function
214(gradX): 213(ptr) Variable Function
217(gradY): 213(ptr) Variable Function
Store 9(blendscale) 10
Store 11(bias) 12
Store 13(lod) 14
Store 15(proj) 12
Store 16(coords1D) 10
Store 19(coords3D) 22
Store 25(coords4D) 26
Store 27(color) 29
34: 31 Load 33(texSampler1D)
35: 7(float) Load 16(coords1D)
36: 23(fvec4) ImageSampleImplicitLod 34 35
37: 23(fvec4) Load 27(color)
38: 23(fvec4) FAdd 37 36
Store 27(color) 38
39: 31 Load 33(texSampler1D)
40: 7(float) Load 16(coords1D)
41: 7(float) Load 11(bias)
42: 23(fvec4) ImageSampleImplicitLod 39 40 41
43: 23(fvec4) Load 27(color)
44: 23(fvec4) FAdd 43 42
Store 27(color) 44
45: 31 Load 33(texSampler1D)
49: 46(fvec2) Load 48(coords2D)
50: 23(fvec4) ImageSampleProjImplicitLod 45 49
51: 23(fvec4) Load 27(color)
52: 23(fvec4) FAdd 51 50
Store 27(color) 52
53: 31 Load 33(texSampler1D)
54: 23(fvec4) Load 25(coords4D)
55: 23(fvec4) ImageSampleProjImplicitLod 53 54
56: 23(fvec4) Load 27(color)
57: 23(fvec4) FAdd 56 55
Store 27(color) 57
58: 31 Load 33(texSampler1D)
59: 46(fvec2) Load 48(coords2D)
60: 7(float) Load 11(bias)
61: 23(fvec4) ImageSampleProjImplicitLod 58 59 60
62: 23(fvec4) Load 27(color)
63: 23(fvec4) FAdd 62 61
Store 27(color) 63
64: 31 Load 33(texSampler1D)
65: 23(fvec4) Load 25(coords4D)
66: 7(float) Load 11(bias)
67: 23(fvec4) ImageSampleProjImplicitLod 64 65 66
68: 23(fvec4) Load 27(color)
69: 23(fvec4) FAdd 68 67
Store 27(color) 69
74: 71 Load 73(texSampler2D)
75: 46(fvec2) Load 48(coords2D)
76: 23(fvec4) ImageSampleImplicitLod 74 75
77: 23(fvec4) Load 27(color)
78: 23(fvec4) FAdd 77 76
Store 27(color) 78
79: 71 Load 73(texSampler2D)
80: 46(fvec2) Load 48(coords2D)
81: 7(float) Load 11(bias)
82: 23(fvec4) ImageSampleImplicitLod 79 80 81
83: 23(fvec4) Load 27(color)
84: 23(fvec4) FAdd 83 82
Store 27(color) 84
85: 71 Load 73(texSampler2D)
86: 17(fvec3) Load 19(coords3D)
87: 23(fvec4) ImageSampleProjImplicitLod 85 86
88: 23(fvec4) Load 27(color)
89: 23(fvec4) FAdd 88 87
Store 27(color) 89
90: 71 Load 73(texSampler2D)
91: 23(fvec4) Load 25(coords4D)
92: 7(float) Load 11(bias)
93: 23(fvec4) ImageSampleProjImplicitLod 90 91 92
94: 23(fvec4) Load 27(color)
95: 23(fvec4) FAdd 94 93
Store 27(color) 95
100: 97 Load 99(texSampler3D)
101: 17(fvec3) Load 19(coords3D)
102: 23(fvec4) ImageSampleImplicitLod 100 101
103: 23(fvec4) Load 27(color)
104: 23(fvec4) FAdd 103 102
Store 27(color) 104
105: 97 Load 99(texSampler3D)
106: 17(fvec3) Load 19(coords3D)
107: 7(float) Load 11(bias)
108: 23(fvec4) ImageSampleImplicitLod 105 106 107
109: 23(fvec4) Load 27(color)
110: 23(fvec4) FAdd 109 108
Store 27(color) 110
111: 97 Load 99(texSampler3D)
112: 23(fvec4) Load 25(coords4D)
113: 23(fvec4) ImageSampleProjImplicitLod 111 112
114: 23(fvec4) Load 27(color)
115: 23(fvec4) FAdd 114 113
Store 27(color) 115
116: 97 Load 99(texSampler3D)
117: 23(fvec4) Load 25(coords4D)
118: 7(float) Load 11(bias)
119: 23(fvec4) ImageSampleProjImplicitLod 116 117 118
120: 23(fvec4) Load 27(color)
121: 23(fvec4) FAdd 120 119
Store 27(color) 121
126: 123 Load 125(texSamplerCube)
127: 17(fvec3) Load 19(coords3D)
128: 23(fvec4) ImageSampleImplicitLod 126 127
129: 23(fvec4) Load 27(color)
130: 23(fvec4) FAdd 129 128
Store 27(color) 130
131: 123 Load 125(texSamplerCube)
132: 17(fvec3) Load 19(coords3D)
133: 7(float) Load 11(bias)
134: 23(fvec4) ImageSampleImplicitLod 131 132 133
135: 23(fvec4) Load 27(color)
136: 23(fvec4) FAdd 135 134
Store 27(color) 136
141: 138 Load 140(shadowSampler1D)
142: 17(fvec3) Load 19(coords3D)
143: 7(float) CompositeExtract 142 2
144: 23(fvec4) ImageSampleDrefImplicitLod 141 142 143
145: 23(fvec4) Load 27(color)
146: 23(fvec4) FAdd 145 144
Store 27(color) 146
147: 138 Load 140(shadowSampler1D)
148: 17(fvec3) Load 19(coords3D)
149: 7(float) Load 11(bias)
150: 7(float) CompositeExtract 148 2
151: 23(fvec4) ImageSampleDrefImplicitLod 147 148 150 149
152: 23(fvec4) Load 27(color)
153: 23(fvec4) FAdd 152 151
Store 27(color) 153
158: 155 Load 157(shadowSampler2D)
159: 17(fvec3) Load 19(coords3D)
160: 7(float) CompositeExtract 159 2
161: 23(fvec4) ImageSampleDrefImplicitLod 158 159 160
162: 23(fvec4) Load 27(color)
163: 23(fvec4) FAdd 162 161
Store 27(color) 163
164: 155 Load 157(shadowSampler2D)
165: 17(fvec3) Load 19(coords3D)
166: 7(float) Load 11(bias)
167: 7(float) CompositeExtract 165 2
168: 23(fvec4) ImageSampleDrefImplicitLod 164 165 167 166
169: 23(fvec4) Load 27(color)
170: 23(fvec4) FAdd 169 168
Store 27(color) 170
171: 138 Load 140(shadowSampler1D)
172: 23(fvec4) Load 25(coords4D)
173: 7(float) CompositeExtract 172 3
174: 23(fvec4) ImageSampleProjDrefImplicitLod 171 172 173
175: 23(fvec4) Load 27(color)
176: 23(fvec4) FAdd 175 174
Store 27(color) 176
177: 138 Load 140(shadowSampler1D)
178: 23(fvec4) Load 25(coords4D)
179: 7(float) Load 11(bias)
180: 7(float) CompositeExtract 178 3
181: 23(fvec4) ImageSampleProjDrefImplicitLod 177 178 180 179
182: 23(fvec4) Load 27(color)
183: 23(fvec4) FAdd 182 181
Store 27(color) 183
184: 155 Load 157(shadowSampler2D)
185: 23(fvec4) Load 25(coords4D)
186: 7(float) CompositeExtract 185 3
187: 23(fvec4) ImageSampleProjDrefImplicitLod 184 185 186
188: 23(fvec4) Load 27(color)
189: 23(fvec4) FAdd 188 187
Store 27(color) 189
190: 155 Load 157(shadowSampler2D)
191: 23(fvec4) Load 25(coords4D)
192: 7(float) Load 11(bias)
193: 7(float) CompositeExtract 191 3
194: 23(fvec4) ImageSampleProjDrefImplicitLod 190 191 193 192
195: 23(fvec4) Load 27(color)
196: 23(fvec4) FAdd 195 194
Store 27(color) 196
Store 200(iCoords2D) 203
Store 205(iLod) 206
207: 71 Load 73(texSampler2D)
208: 198(ivec2) Load 200(iCoords2D)
209: 197(int) Load 205(iLod)
210: 23(fvec4) ImageFetch 207 208
211: 23(fvec4) Load 27(color)
212: 23(fvec4) FAdd 211 210
Store 27(color) 212
215: 46(fvec2) Load 48(coords2D)
216: 46(fvec2) DPdx 215
Store 214(gradX) 216
218: 46(fvec2) Load 48(coords2D)
219: 46(fvec2) DPdy 218
Store 217(gradY) 219
220: 71 Load 73(texSampler2D)
221: 46(fvec2) Load 48(coords2D)
222: 46(fvec2) Load 214(gradX)
223: 46(fvec2) Load 217(gradY)
224: 23(fvec4) ImageSampleExplicitLod 220 221 222 223
225: 23(fvec4) Load 27(color)
226: 23(fvec4) FAdd 225 224
Store 27(color) 226
227: 71 Load 73(texSampler2D)
228: 46(fvec2) Load 48(coords2D)
229: 7(float) Load 15(proj)
230: 7(float) CompositeExtract 228 0
231: 7(float) CompositeExtract 228 1
232: 17(fvec3) CompositeConstruct 230 231 229
233: 46(fvec2) Load 214(gradX)
234: 46(fvec2) Load 217(gradY)
235: 23(fvec4) ImageSampleProjExplicitLod 227 232 233 234
236: 23(fvec4) Load 27(color)
237: 23(fvec4) FAdd 236 235
Store 27(color) 237
238: 71 Load 73(texSampler2D)
239: 46(fvec2) Load 48(coords2D)
240: 46(fvec2) Load 214(gradX)
241: 46(fvec2) Load 217(gradY)
245: 23(fvec4) ImageSampleExplicitLod 238 239 240 241 244
246: 23(fvec4) Load 27(color)
247: 23(fvec4) FAdd 246 245
Store 27(color) 247
248: 71 Load 73(texSampler2D)
249: 17(fvec3) Load 19(coords3D)
250: 46(fvec2) Load 214(gradX)
251: 46(fvec2) Load 217(gradY)
252: 23(fvec4) ImageSampleProjExplicitLod 248 249 250 251 244
253: 23(fvec4) Load 27(color)
254: 23(fvec4) FAdd 253 252
Store 27(color) 254
255: 155 Load 157(shadowSampler2D)
256: 46(fvec2) Load 48(coords2D)
257: 7(float) Load 13(lod)
258: 7(float) CompositeExtract 256 0
259: 7(float) CompositeExtract 256 1
260: 17(fvec3) CompositeConstruct 258 259 257
261: 46(fvec2) Load 214(gradX)
262: 46(fvec2) Load 217(gradY)
263: 7(float) CompositeExtract 260 2
264: 7(float) ImageSampleDrefExplicitLod 255 260 263 261 262
265: 23(fvec4) Load 27(color)
266: 23(fvec4) CompositeConstruct 264 264 264 264
267: 23(fvec4) FAdd 265 266
Store 27(color) 267
270: 23(fvec4) Load 27(color)
273: 23(fvec4) Load 272(u)
276: 7(float) Load 275(blend)
277: 7(float) Load 9(blendscale)
278: 7(float) FMul 276 277
279: 23(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 270 273 278
Store 269(gl_FragColor) 279
Branch 6
6: Label
8(blendscale): 7(ptr) Variable Function
10(bias): 7(ptr) Variable Function
12(lod): 7(ptr) Variable Function
14(proj): 7(ptr) Variable Function
15(coords1D): 7(ptr) Variable Function
18(coords3D): 17(ptr) Variable Function
24(coords4D): 23(ptr) Variable Function
26(color): 23(ptr) Variable Function
199(iCoords2D): 198(ptr) Variable Function
204(iLod): 203(ptr) Variable Function
213(gradX): 212(ptr) Variable Function
216(gradY): 212(ptr) Variable Function
Store 8(blendscale) 9
Store 10(bias) 11
Store 12(lod) 13
Store 14(proj) 11
Store 15(coords1D) 9
Store 18(coords3D) 21
Store 24(coords4D) 25
Store 26(color) 28
33: 30 Load 32(texSampler1D)
34: 6(float) Load 15(coords1D)
35: 22(fvec4) ImageSampleImplicitLod 33 34
36: 22(fvec4) Load 26(color)
37: 22(fvec4) FAdd 36 35
Store 26(color) 37
38: 30 Load 32(texSampler1D)
39: 6(float) Load 15(coords1D)
40: 6(float) Load 10(bias)
41: 22(fvec4) ImageSampleImplicitLod 38 39 40
42: 22(fvec4) Load 26(color)
43: 22(fvec4) FAdd 42 41
Store 26(color) 43
44: 30 Load 32(texSampler1D)
48: 45(fvec2) Load 47(coords2D)
49: 22(fvec4) ImageSampleProjImplicitLod 44 48
50: 22(fvec4) Load 26(color)
51: 22(fvec4) FAdd 50 49
Store 26(color) 51
52: 30 Load 32(texSampler1D)
53: 22(fvec4) Load 24(coords4D)
54: 22(fvec4) ImageSampleProjImplicitLod 52 53
55: 22(fvec4) Load 26(color)
56: 22(fvec4) FAdd 55 54
Store 26(color) 56
57: 30 Load 32(texSampler1D)
58: 45(fvec2) Load 47(coords2D)
59: 6(float) Load 10(bias)
60: 22(fvec4) ImageSampleProjImplicitLod 57 58 59
61: 22(fvec4) Load 26(color)
62: 22(fvec4) FAdd 61 60
Store 26(color) 62
63: 30 Load 32(texSampler1D)
64: 22(fvec4) Load 24(coords4D)
65: 6(float) Load 10(bias)
66: 22(fvec4) ImageSampleProjImplicitLod 63 64 65
67: 22(fvec4) Load 26(color)
68: 22(fvec4) FAdd 67 66
Store 26(color) 68
73: 70 Load 72(texSampler2D)
74: 45(fvec2) Load 47(coords2D)
75: 22(fvec4) ImageSampleImplicitLod 73 74
76: 22(fvec4) Load 26(color)
77: 22(fvec4) FAdd 76 75
Store 26(color) 77
78: 70 Load 72(texSampler2D)
79: 45(fvec2) Load 47(coords2D)
80: 6(float) Load 10(bias)
81: 22(fvec4) ImageSampleImplicitLod 78 79 80
82: 22(fvec4) Load 26(color)
83: 22(fvec4) FAdd 82 81
Store 26(color) 83
84: 70 Load 72(texSampler2D)
85: 16(fvec3) Load 18(coords3D)
86: 22(fvec4) ImageSampleProjImplicitLod 84 85
87: 22(fvec4) Load 26(color)
88: 22(fvec4) FAdd 87 86
Store 26(color) 88
89: 70 Load 72(texSampler2D)
90: 22(fvec4) Load 24(coords4D)
91: 6(float) Load 10(bias)
92: 22(fvec4) ImageSampleProjImplicitLod 89 90 91
93: 22(fvec4) Load 26(color)
94: 22(fvec4) FAdd 93 92
Store 26(color) 94
99: 96 Load 98(texSampler3D)
100: 16(fvec3) Load 18(coords3D)
101: 22(fvec4) ImageSampleImplicitLod 99 100
102: 22(fvec4) Load 26(color)
103: 22(fvec4) FAdd 102 101
Store 26(color) 103
104: 96 Load 98(texSampler3D)
105: 16(fvec3) Load 18(coords3D)
106: 6(float) Load 10(bias)
107: 22(fvec4) ImageSampleImplicitLod 104 105 106
108: 22(fvec4) Load 26(color)
109: 22(fvec4) FAdd 108 107
Store 26(color) 109
110: 96 Load 98(texSampler3D)
111: 22(fvec4) Load 24(coords4D)
112: 22(fvec4) ImageSampleProjImplicitLod 110 111
113: 22(fvec4) Load 26(color)
114: 22(fvec4) FAdd 113 112
Store 26(color) 114
115: 96 Load 98(texSampler3D)
116: 22(fvec4) Load 24(coords4D)
117: 6(float) Load 10(bias)
118: 22(fvec4) ImageSampleProjImplicitLod 115 116 117
119: 22(fvec4) Load 26(color)
120: 22(fvec4) FAdd 119 118
Store 26(color) 120
125: 122 Load 124(texSamplerCube)
126: 16(fvec3) Load 18(coords3D)
127: 22(fvec4) ImageSampleImplicitLod 125 126
128: 22(fvec4) Load 26(color)
129: 22(fvec4) FAdd 128 127
Store 26(color) 129
130: 122 Load 124(texSamplerCube)
131: 16(fvec3) Load 18(coords3D)
132: 6(float) Load 10(bias)
133: 22(fvec4) ImageSampleImplicitLod 130 131 132
134: 22(fvec4) Load 26(color)
135: 22(fvec4) FAdd 134 133
Store 26(color) 135
140: 137 Load 139(shadowSampler1D)
141: 16(fvec3) Load 18(coords3D)
142: 6(float) CompositeExtract 141 2
143: 22(fvec4) ImageSampleDrefImplicitLod 140 141 142
144: 22(fvec4) Load 26(color)
145: 22(fvec4) FAdd 144 143
Store 26(color) 145
146: 137 Load 139(shadowSampler1D)
147: 16(fvec3) Load 18(coords3D)
148: 6(float) Load 10(bias)
149: 6(float) CompositeExtract 147 2
150: 22(fvec4) ImageSampleDrefImplicitLod 146 147 149 148
151: 22(fvec4) Load 26(color)
152: 22(fvec4) FAdd 151 150
Store 26(color) 152
157: 154 Load 156(shadowSampler2D)
158: 16(fvec3) Load 18(coords3D)
159: 6(float) CompositeExtract 158 2
160: 22(fvec4) ImageSampleDrefImplicitLod 157 158 159
161: 22(fvec4) Load 26(color)
162: 22(fvec4) FAdd 161 160
Store 26(color) 162
163: 154 Load 156(shadowSampler2D)
164: 16(fvec3) Load 18(coords3D)
165: 6(float) Load 10(bias)
166: 6(float) CompositeExtract 164 2
167: 22(fvec4) ImageSampleDrefImplicitLod 163 164 166 165
168: 22(fvec4) Load 26(color)
169: 22(fvec4) FAdd 168 167
Store 26(color) 169
170: 137 Load 139(shadowSampler1D)
171: 22(fvec4) Load 24(coords4D)
172: 6(float) CompositeExtract 171 3
173: 22(fvec4) ImageSampleProjDrefImplicitLod 170 171 172
174: 22(fvec4) Load 26(color)
175: 22(fvec4) FAdd 174 173
Store 26(color) 175
176: 137 Load 139(shadowSampler1D)
177: 22(fvec4) Load 24(coords4D)
178: 6(float) Load 10(bias)
179: 6(float) CompositeExtract 177 3
180: 22(fvec4) ImageSampleProjDrefImplicitLod 176 177 179 178
181: 22(fvec4) Load 26(color)
182: 22(fvec4) FAdd 181 180
Store 26(color) 182
183: 154 Load 156(shadowSampler2D)
184: 22(fvec4) Load 24(coords4D)
185: 6(float) CompositeExtract 184 3
186: 22(fvec4) ImageSampleProjDrefImplicitLod 183 184 185
187: 22(fvec4) Load 26(color)
188: 22(fvec4) FAdd 187 186
Store 26(color) 188
189: 154 Load 156(shadowSampler2D)
190: 22(fvec4) Load 24(coords4D)
191: 6(float) Load 10(bias)
192: 6(float) CompositeExtract 190 3
193: 22(fvec4) ImageSampleProjDrefImplicitLod 189 190 192 191
194: 22(fvec4) Load 26(color)
195: 22(fvec4) FAdd 194 193
Store 26(color) 195
Store 199(iCoords2D) 202
Store 204(iLod) 205
206: 70 Load 72(texSampler2D)
207: 197(ivec2) Load 199(iCoords2D)
208: 196(int) Load 204(iLod)
209: 22(fvec4) ImageFetch 206 207
210: 22(fvec4) Load 26(color)
211: 22(fvec4) FAdd 210 209
Store 26(color) 211
214: 45(fvec2) Load 47(coords2D)
215: 45(fvec2) DPdx 214
Store 213(gradX) 215
217: 45(fvec2) Load 47(coords2D)
218: 45(fvec2) DPdy 217
Store 216(gradY) 218
219: 70 Load 72(texSampler2D)
220: 45(fvec2) Load 47(coords2D)
221: 45(fvec2) Load 213(gradX)
222: 45(fvec2) Load 216(gradY)
223: 22(fvec4) ImageSampleExplicitLod 219 220 221 222
224: 22(fvec4) Load 26(color)
225: 22(fvec4) FAdd 224 223
Store 26(color) 225
226: 70 Load 72(texSampler2D)
227: 45(fvec2) Load 47(coords2D)
228: 6(float) Load 14(proj)
229: 6(float) CompositeExtract 227 0
230: 6(float) CompositeExtract 227 1
231: 16(fvec3) CompositeConstruct 229 230 228
232: 45(fvec2) Load 213(gradX)
233: 45(fvec2) Load 216(gradY)
234: 22(fvec4) ImageSampleProjExplicitLod 226 231 232 233
235: 22(fvec4) Load 26(color)
236: 22(fvec4) FAdd 235 234
Store 26(color) 236
237: 70 Load 72(texSampler2D)
238: 45(fvec2) Load 47(coords2D)
239: 45(fvec2) Load 213(gradX)
240: 45(fvec2) Load 216(gradY)
244: 22(fvec4) ImageSampleExplicitLod 237 238 239 240 243
245: 22(fvec4) Load 26(color)
246: 22(fvec4) FAdd 245 244
Store 26(color) 246
247: 70 Load 72(texSampler2D)
248: 16(fvec3) Load 18(coords3D)
249: 45(fvec2) Load 213(gradX)
250: 45(fvec2) Load 216(gradY)
251: 22(fvec4) ImageSampleProjExplicitLod 247 248 249 250 243
252: 22(fvec4) Load 26(color)
253: 22(fvec4) FAdd 252 251
Store 26(color) 253
254: 154 Load 156(shadowSampler2D)
255: 45(fvec2) Load 47(coords2D)
256: 6(float) Load 12(lod)
257: 6(float) CompositeExtract 255 0
258: 6(float) CompositeExtract 255 1
259: 16(fvec3) CompositeConstruct 257 258 256
260: 45(fvec2) Load 213(gradX)
261: 45(fvec2) Load 216(gradY)
262: 6(float) CompositeExtract 259 2
263: 6(float) ImageSampleDrefExplicitLod 254 259 262 260 261
264: 22(fvec4) Load 26(color)
265: 22(fvec4) CompositeConstruct 263 263 263 263
266: 22(fvec4) FAdd 264 265
Store 26(color) 266
269: 22(fvec4) Load 26(color)
272: 22(fvec4) Load 271(u)
275: 6(float) Load 274(blend)
276: 6(float) Load 8(blendscale)
277: 6(float) FMul 275 276
278: 22(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 269 272 277
Store 268(gl_FragColor) 278
Return
FunctionEnd