SPV tests: Turn on some more tests related to currently pending issues.

This commit is contained in:
John Kessenich 2015-12-11 15:08:26 -07:00
parent cc16fa0720
commit 3c24a06c8c
6 changed files with 491 additions and 440 deletions

View File

@ -1,31 +1,36 @@
spv.Operations.frag spv.Operations.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
Linked fragment stage: Linked fragment stage:
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 418 // Id's are bound by 503
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" EntryPoint Fragment 4 "main" 479
ExecutionMode 4 OriginLowerLeft ExecutionMode 4 OriginLowerLeft
Source GLSL 130 Source GLSL 450
Name 4 "main" Name 4 "main"
Name 9 "v" Name 9 "v"
Name 11 "uv4" Name 11 "uv4"
Name 20 "i" Name 20 "i"
Name 22 "ui" Name 22 "ui"
Name 172 "uf" Name 181 "ub41"
Name 219 "b" Name 188 "f"
Name 253 "ub41" Name 211 "uf"
Name 255 "ub42" Name 281 "u"
Name 318 "f" Name 284 "uui"
Name 397 "gl_FragColor" Name 301 "b"
Name 415 "uiv4" Name 338 "ub42"
Name 417 "ub" Name 479 "FragColor"
Name 497 "uiv4"
Name 499 "ub"
Name 502 "uuv4"
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -37,38 +42,45 @@ Linked fragment stage:
19: TypePointer Function 18(int) 19: TypePointer Function 18(int)
21: TypePointer UniformConstant 18(int) 21: TypePointer UniformConstant 18(int)
22(ui): 21(ptr) Variable UniformConstant 22(ui): 21(ptr) Variable UniformConstant
129: TypeInt 32 0 141: TypeInt 32 0
130: 129(int) Constant 0 142: 141(int) Constant 0
131: TypePointer Function 6(float) 143: TypePointer Function 6(float)
171: TypePointer UniformConstant 6(float) 178: TypeBool
172(uf): 171(ptr) Variable UniformConstant 179: TypeVector 178(bool) 4
217: TypeBool 180: TypePointer UniformConstant 179(bvec4)
218: TypePointer Function 217(bool) 181(ub41): 180(ptr) Variable UniformConstant
222: TypeVector 217(bool) 4 210: TypePointer UniformConstant 6(float)
252: TypePointer UniformConstant 222(bvec4) 211(uf): 210(ptr) Variable UniformConstant
253(ub41): 252(ptr) Variable UniformConstant 280: TypePointer Function 141(int)
255(ub42): 252(ptr) Variable UniformConstant 283: TypePointer UniformConstant 141(int)
309: 18(int) Constant 2 284(uui): 283(ptr) Variable UniformConstant
316: 18(int) Constant 1 300: TypePointer Function 178(bool)
347: TypeVector 6(float) 3 338(ub42): 180(ptr) Variable UniformConstant
366: 6(float) Constant 1073741824 392: 18(int) Constant 2
373: 6(float) Constant 1065353216 399: 18(int) Constant 1
378: 18(int) Constant 66 429: TypeVector 6(float) 3
384: 18(int) Constant 17 448: 6(float) Constant 1073741824
396: TypePointer Output 7(fvec4) 455: 6(float) Constant 1065353216
397(gl_FragColor): 396(ptr) Variable Output 460: 18(int) Constant 66
413: TypeVector 18(int) 4 466: 18(int) Constant 17
414: TypePointer UniformConstant 413(ivec4) 478: TypePointer Output 7(fvec4)
415(uiv4): 414(ptr) Variable UniformConstant 479(FragColor): 478(ptr) Variable Output
416: TypePointer UniformConstant 217(bool) 495: TypeVector 18(int) 4
417(ub): 416(ptr) Variable UniformConstant 496: TypePointer UniformConstant 495(ivec4)
497(uiv4): 496(ptr) Variable UniformConstant
498: TypePointer UniformConstant 178(bool)
499(ub): 498(ptr) Variable UniformConstant
500: TypeVector 141(int) 4
501: TypePointer UniformConstant 500(ivec4)
502(uuv4): 501(ptr) Variable UniformConstant
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v): 8(ptr) Variable Function 9(v): 8(ptr) Variable Function
20(i): 19(ptr) Variable Function 20(i): 19(ptr) Variable Function
219(b): 218(ptr) Variable Function 188(f): 143(ptr) Variable Function
318(f): 131(ptr) Variable Function 281(u): 280(ptr) Variable Function
398: 8(ptr) Variable Function 301(b): 300(ptr) Variable Function
480: 8(ptr) Variable Function
12: 7(fvec4) Load 11(uv4) 12: 7(fvec4) Load 11(uv4)
13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
Store 9(v) 13 Store 9(v) 13
@ -193,362 +205,457 @@ Linked fragment stage:
114: 7(fvec4) FAdd 113 112 114: 7(fvec4) FAdd 113 112
Store 9(v) 114 Store 9(v) 114
115: 7(fvec4) Load 9(v) 115: 7(fvec4) Load 9(v)
116: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 115 116: 7(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 115
117: 7(fvec4) Load 9(v) 117: 7(fvec4) Load 9(v)
118: 7(fvec4) FAdd 117 116 118: 7(fvec4) FAdd 117 116
Store 9(v) 118 Store 9(v) 118
119: 7(fvec4) Load 9(v) 119: 7(fvec4) Load 9(v)
120: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 119 120: 7(fvec4) ExtInst 1(GLSL.std.450) 1(Round) 119
121: 7(fvec4) Load 9(v) 121: 7(fvec4) Load 9(v)
122: 7(fvec4) FAdd 121 120 122: 7(fvec4) FAdd 121 120
Store 9(v) 122 Store 9(v) 122
123: 7(fvec4) Load 9(v) 123: 7(fvec4) Load 9(v)
124: 7(fvec4) Load 9(v) 124: 7(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 123
125: 7(fvec4) FMod 123 124 125: 7(fvec4) Load 9(v)
126: 7(fvec4) Load 9(v) 126: 7(fvec4) FAdd 125 124
127: 7(fvec4) FAdd 126 125 Store 9(v) 126
Store 9(v) 127 127: 7(fvec4) Load 9(v)
128: 7(fvec4) Load 9(v) 128: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 127
132: 131(ptr) AccessChain 9(v) 130 129: 7(fvec4) Load 9(v)
133: 6(float) Load 132 130: 7(fvec4) FAdd 129 128
134: 7(fvec4) CompositeConstruct 133 133 133 133 Store 9(v) 130
135: 7(fvec4) FMod 128 134 131: 7(fvec4) Load 9(v)
132: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 131
133: 7(fvec4) Load 9(v)
134: 7(fvec4) FAdd 133 132
Store 9(v) 134
135: 7(fvec4) Load 9(v)
136: 7(fvec4) Load 9(v) 136: 7(fvec4) Load 9(v)
137: 7(fvec4) FAdd 136 135 137: 7(fvec4) FMod 135 136
Store 9(v) 137
138: 7(fvec4) Load 9(v) 138: 7(fvec4) Load 9(v)
139: 7(fvec4) Load 11(uv4) 139: 7(fvec4) FAdd 138 137
140: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 138 139 Store 9(v) 139
141: 7(fvec4) Load 9(v) 140: 7(fvec4) Load 9(v)
142: 7(fvec4) FAdd 141 140 144: 143(ptr) AccessChain 9(v) 142
Store 9(v) 142 145: 6(float) Load 144
143: 7(fvec4) Load 9(v) 146: 7(fvec4) CompositeConstruct 145 145 145 145
144: 7(fvec4) Load 11(uv4) 147: 7(fvec4) FMod 140 146
145: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 143 144
146: 7(fvec4) Load 9(v)
147: 7(fvec4) FAdd 146 145
Store 9(v) 147
148: 7(fvec4) Load 9(v) 148: 7(fvec4) Load 9(v)
149: 7(fvec4) Load 11(uv4) 149: 7(fvec4) FAdd 148 147
150: 7(fvec4) Load 11(uv4) Store 9(v) 149
151: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 148 149 150 150: 7(fvec4) Load 9(v)
151: 7(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 150 9(v)
152: 7(fvec4) Load 9(v) 152: 7(fvec4) Load 9(v)
153: 7(fvec4) FAdd 152 151 153: 7(fvec4) FAdd 152 151
Store 9(v) 153 Store 9(v) 153
154: 7(fvec4) Load 9(v) 154: 7(fvec4) Load 9(v)
155: 7(fvec4) Load 9(v) 155: 7(fvec4) Load 11(uv4)
156: 7(fvec4) Load 9(v) 156: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 154 155
157: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 154 155 156 157: 7(fvec4) Load 9(v)
158: 7(fvec4) Load 9(v) 158: 7(fvec4) FAdd 157 156
159: 7(fvec4) FAdd 158 157 Store 9(v) 158
Store 9(v) 159 159: 7(fvec4) Load 9(v)
160: 7(fvec4) Load 9(v) 160: 7(fvec4) Load 11(uv4)
161: 7(fvec4) Load 9(v) 161: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 159 160
162: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 160 161 162: 7(fvec4) Load 9(v)
163: 7(fvec4) Load 9(v) 163: 7(fvec4) FAdd 162 161
164: 7(fvec4) FAdd 163 162 Store 9(v) 163
Store 9(v) 164 164: 7(fvec4) Load 9(v)
165: 7(fvec4) Load 9(v) 165: 7(fvec4) Load 11(uv4)
166: 7(fvec4) Load 9(v) 166: 7(fvec4) Load 11(uv4)
167: 7(fvec4) Load 9(v) 167: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 164 165 166
168: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 165 166 167 168: 7(fvec4) Load 9(v)
169: 7(fvec4) Load 9(v) 169: 7(fvec4) FAdd 168 167
170: 7(fvec4) FAdd 169 168 Store 9(v) 169
Store 9(v) 170 170: 7(fvec4) Load 9(v)
173: 6(float) Load 172(uf) 171: 7(fvec4) Load 9(v)
172: 7(fvec4) Load 9(v)
173: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 170 171 172
174: 7(fvec4) Load 9(v) 174: 7(fvec4) Load 9(v)
175: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 173 174 175: 7(fvec4) FAdd 174 173
Store 9(v) 175
176: 7(fvec4) Load 9(v) 176: 7(fvec4) Load 9(v)
177: 7(fvec4) FAdd 176 175 177: 7(fvec4) Load 9(v)
Store 9(v) 177 182: 179(bvec4) Load 181(ub41)
178: 6(float) Load 172(uf) 183: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 176 177 182
179: 6(float) Load 172(uf)
180: 7(fvec4) Load 9(v)
181: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 178 179 180
182: 7(fvec4) Load 9(v)
183: 7(fvec4) FAdd 182 181
Store 9(v) 183
184: 7(fvec4) Load 9(v) 184: 7(fvec4) Load 9(v)
185: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 184 185: 7(fvec4) FAdd 184 183
Store 9(v) 185
186: 7(fvec4) Load 9(v) 186: 7(fvec4) Load 9(v)
187: 7(fvec4) FAdd 186 185 187: 7(fvec4) Load 9(v)
Store 9(v) 187 189: 6(float) Load 188(f)
188: 7(fvec4) Load 9(v) 190: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 186 187 189
189: 7(fvec4) Load 9(v) 191: 7(fvec4) Load 9(v)
190: 7(fvec4) Load 9(v) 192: 7(fvec4) FAdd 191 190
191: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 188 189 190 Store 9(v) 192
192: 7(fvec4) Load 9(v) 193: 7(fvec4) Load 9(v)
193: 7(fvec4) FAdd 192 191 194: 7(fvec4) Load 11(uv4)
Store 9(v) 193
194: 7(fvec4) Load 9(v)
195: 7(fvec4) Load 9(v) 195: 7(fvec4) Load 9(v)
196: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 194 195 196: 7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 193 194 195
197: 7(fvec4) Load 9(v) 197: 7(fvec4) Load 9(v)
198: 7(fvec4) FAdd 197 196 198: 7(fvec4) FAdd 197 196
Store 9(v) 198 Store 9(v) 198
199: 7(fvec4) Load 9(v) 199: 7(fvec4) Load 9(v)
200: 7(fvec4) Load 9(v) 200: 7(fvec4) Load 9(v)
201: 6(float) Load 172(uf) 201: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 199 200
202: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 199 200 201 202: 7(fvec4) Load 9(v)
203: 7(fvec4) Load 9(v) 203: 7(fvec4) FAdd 202 201
204: 7(fvec4) FAdd 203 202 Store 9(v) 203
Store 9(v) 204 204: 7(fvec4) Load 9(v)
205: 7(fvec4) Load 9(v) 205: 7(fvec4) Load 9(v)
206: 7(fvec4) DPdx 205 206: 7(fvec4) Load 9(v)
207: 7(fvec4) Load 9(v) 207: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 204 205 206
208: 7(fvec4) FAdd 207 206 208: 7(fvec4) Load 9(v)
Store 9(v) 208 209: 7(fvec4) FAdd 208 207
209: 7(fvec4) Load 9(v) Store 9(v) 209
210: 7(fvec4) DPdy 209 212: 6(float) Load 211(uf)
211: 7(fvec4) Load 9(v)
212: 7(fvec4) FAdd 211 210
Store 9(v) 212
213: 7(fvec4) Load 9(v) 213: 7(fvec4) Load 9(v)
214: 7(fvec4) Fwidth 213 214: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 212 213
215: 7(fvec4) Load 9(v) 215: 7(fvec4) Load 9(v)
216: 7(fvec4) FAdd 215 214 216: 7(fvec4) FAdd 215 214
Store 9(v) 216 Store 9(v) 216
220: 7(fvec4) Load 9(v) 217: 6(float) Load 211(uf)
221: 7(fvec4) Load 11(uv4) 218: 6(float) Load 211(uf)
223: 222(bvec4) FOrdLessThan 220 221 219: 7(fvec4) Load 9(v)
224: 217(bool) Any 223 220: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 217 218 219
Store 219(b) 224 221: 7(fvec4) Load 9(v)
225: 217(bool) Load 219(b) 222: 7(fvec4) FAdd 221 220
SelectionMerge 227 None Store 9(v) 222
BranchConditional 225 226 227 223: 7(fvec4) Load 9(v)
226: Label 224: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 223
225: 7(fvec4) Load 9(v)
226: 7(fvec4) FAdd 225 224
Store 9(v) 226
227: 7(fvec4) Load 9(v)
228: 7(fvec4) Load 9(v) 228: 7(fvec4) Load 9(v)
229: 7(fvec4) Load 11(uv4) 229: 7(fvec4) Load 9(v)
230: 222(bvec4) FOrdLessThanEqual 228 229 230: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 227 228 229
231: 217(bool) Any 230 231: 7(fvec4) Load 9(v)
Branch 227 232: 7(fvec4) FAdd 231 230
227: Label Store 9(v) 232
232: 217(bool) Phi 225 5 231 226 233: 7(fvec4) Load 9(v)
Store 219(b) 232 234: 7(fvec4) Load 9(v)
233: 217(bool) Load 219(b) 235: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 233 234
SelectionMerge 235 None
BranchConditional 233 234 235
234: Label
236: 7(fvec4) Load 9(v) 236: 7(fvec4) Load 9(v)
237: 7(fvec4) Load 11(uv4) 237: 7(fvec4) FAdd 236 235
238: 222(bvec4) FOrdGreaterThan 236 237 Store 9(v) 237
239: 217(bool) Any 238 238: 7(fvec4) Load 9(v)
Branch 235 239: 7(fvec4) Load 9(v)
235: Label 240: 6(float) Load 211(uf)
240: 217(bool) Phi 233 227 239 234 241: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 238 239 240
Store 219(b) 240 242: 7(fvec4) Load 9(v)
241: 217(bool) Load 219(b) 243: 7(fvec4) FAdd 242 241
SelectionMerge 243 None Store 9(v) 243
BranchConditional 241 242 243
242: Label
244: 7(fvec4) Load 9(v) 244: 7(fvec4) Load 9(v)
245: 7(fvec4) Load 11(uv4) 245: 7(fvec4) DPdx 244
246: 222(bvec4) FOrdGreaterThanEqual 244 245 246: 7(fvec4) Load 9(v)
247: 217(bool) Any 246 247: 7(fvec4) FAdd 246 245
Branch 243 Store 9(v) 247
243: Label 248: 7(fvec4) Load 9(v)
248: 217(bool) Phi 241 235 247 242 249: 7(fvec4) DPdy 248
Store 219(b) 248 250: 7(fvec4) Load 9(v)
249: 217(bool) Load 219(b) 251: 7(fvec4) FAdd 250 249
SelectionMerge 251 None Store 9(v) 251
BranchConditional 249 250 251 252: 7(fvec4) Load 9(v)
250: Label 253: 7(fvec4) Fwidth 252
254: 222(bvec4) Load 253(ub41) 254: 7(fvec4) Load 9(v)
256: 222(bvec4) Load 255(ub42) 255: 7(fvec4) FAdd 254 253
257: 222(bvec4) IEqual 254 256 Store 9(v) 255
258: 217(bool) Any 257 256: 18(int) Load 22(ui)
Branch 251 257: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 256
251: Label 258: 18(int) Load 20(i)
259: 217(bool) Phi 249 243 258 250 259: 18(int) IAdd 258 257
Store 219(b) 259 Store 20(i) 259
260: 217(bool) Load 219(b) 260: 18(int) Load 20(i)
SelectionMerge 262 None 261: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 260
BranchConditional 260 261 262 262: 18(int) Load 20(i)
261: Label 263: 18(int) IAdd 262 261
263: 222(bvec4) Load 253(ub41) Store 20(i) 263
264: 222(bvec4) Load 255(ub42) 264: 18(int) Load 20(i)
265: 222(bvec4) INotEqual 263 264 265: 18(int) Load 22(ui)
266: 217(bool) Any 265 266: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 264 265
Branch 262 267: 18(int) Load 20(i)
262: Label 268: 18(int) IAdd 267 266
267: 217(bool) Phi 260 251 266 261 Store 20(i) 268
Store 219(b) 267 269: 18(int) Load 20(i)
268: 217(bool) Load 219(b) 270: 18(int) Load 22(ui)
269: 222(bvec4) Load 253(ub41) 271: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 269 270
270: 217(bool) Any 269 272: 18(int) Load 20(i)
271: 217(bool) LogicalAnd 268 270 273: 18(int) IAdd 272 271
Store 219(b) 271 Store 20(i) 273
272: 217(bool) Load 219(b) 274: 18(int) Load 20(i)
273: 222(bvec4) Load 253(ub41) 275: 18(int) Load 22(ui)
274: 217(bool) All 273 276: 18(int) Load 22(ui)
275: 217(bool) LogicalAnd 272 274 277: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 274 275 276
Store 219(b) 275 278: 18(int) Load 20(i)
276: 217(bool) Load 219(b) 279: 18(int) IAdd 278 277
SelectionMerge 278 None Store 20(i) 279
BranchConditional 276 277 278 282: 141(int) Load 281(u)
277: Label 285: 141(int) Load 284(uui)
279: 222(bvec4) Load 253(ub41) 286: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 282 285
280: 222(bvec4) LogicalNot 279 287: 141(int) Load 281(u)
281: 217(bool) Any 280 288: 141(int) IAdd 287 286
Branch 278 Store 281(u) 288
278: Label 289: 141(int) Load 281(u)
282: 217(bool) Phi 276 262 281 277 290: 141(int) Load 284(uui)
Store 219(b) 282 291: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 289 290
283: 18(int) Load 20(i) 292: 141(int) Load 281(u)
284: 18(int) Load 22(ui) 293: 141(int) IAdd 292 291
285: 18(int) IAdd 283 284 Store 281(u) 293
286: 18(int) Load 20(i) 294: 141(int) Load 281(u)
287: 18(int) IMul 285 286 295: 141(int) Load 284(uui)
288: 18(int) Load 22(ui) 296: 141(int) Load 284(uui)
289: 18(int) ISub 287 288 297: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 294 295 296
290: 18(int) Load 20(i) 298: 141(int) Load 281(u)
291: 18(int) SDiv 289 290 299: 141(int) IAdd 298 297
Store 20(i) 291 Store 281(u) 299
292: 18(int) Load 20(i) 302: 6(float) Load 211(uf)
293: 18(int) Load 22(ui) 303: 178(bool) IsNan 302
294: 18(int) SMod 292 293 Store 301(b) 303
Store 20(i) 294 304: 6(float) Load 188(f)
295: 18(int) Load 20(i) 305: 178(bool) IsInf 304
296: 18(int) Load 22(ui) Store 301(b) 305
297: 217(bool) IEqual 295 296 306: 7(fvec4) Load 9(v)
298: 217(bool) LogicalNot 297 307: 7(fvec4) Load 11(uv4)
SelectionMerge 300 None 308: 179(bvec4) FOrdLessThan 306 307
BranchConditional 298 299 300 309: 178(bool) Any 308
299: Label Store 301(b) 309
301: 18(int) Load 20(i) 310: 178(bool) Load 301(b)
302: 18(int) Load 22(ui) SelectionMerge 312 None
303: 217(bool) INotEqual 301 302 BranchConditional 310 311 312
304: 18(int) Load 20(i) 311: Label
305: 18(int) Load 22(ui) 313: 7(fvec4) Load 9(v)
306: 217(bool) IEqual 304 305 314: 7(fvec4) Load 11(uv4)
307: 217(bool) LogicalAnd 303 306 315: 179(bvec4) FOrdLessThanEqual 313 314
308: 18(int) Load 20(i) 316: 178(bool) Any 315
310: 217(bool) INotEqual 308 309 Branch 312
311: 217(bool) LogicalNotEqual 307 310 312: Label
Branch 300 317: 178(bool) Phi 310 5 316 311
300: Label Store 301(b) 317
312: 217(bool) Phi 297 278 311 299 318: 178(bool) Load 301(b)
SelectionMerge 314 None SelectionMerge 320 None
BranchConditional 312 313 314 BranchConditional 318 319 320
313: Label 319: Label
315: 18(int) Load 20(i) 321: 7(fvec4) Load 9(v)
317: 18(int) IAdd 315 316 322: 7(fvec4) Load 11(uv4)
Store 20(i) 317 323: 179(bvec4) FOrdGreaterThan 321 322
Branch 314 324: 178(bool) Any 323
314: Label Branch 320
319: 6(float) Load 172(uf) 320: Label
320: 6(float) Load 172(uf) 325: 178(bool) Phi 318 312 324 319
321: 6(float) FAdd 319 320 Store 301(b) 325
322: 6(float) Load 172(uf) 326: 178(bool) Load 301(b)
323: 6(float) FMul 321 322 SelectionMerge 328 None
324: 6(float) Load 172(uf) BranchConditional 326 327 328
325: 6(float) FSub 323 324 327: Label
326: 6(float) Load 172(uf) 329: 7(fvec4) Load 9(v)
327: 6(float) FDiv 325 326 330: 7(fvec4) Load 11(uv4)
Store 318(f) 327 331: 179(bvec4) FOrdGreaterThanEqual 329 330
328: 7(fvec4) Load 9(v) 332: 178(bool) Any 331
329: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 328 Branch 328
330: 6(float) Load 318(f) 328: Label
331: 6(float) FAdd 330 329 333: 178(bool) Phi 326 320 332 327
Store 318(f) 331 Store 301(b) 333
332: 7(fvec4) Load 9(v) 334: 178(bool) Load 301(b)
333: 7(fvec4) Load 9(v) SelectionMerge 336 None
334: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 332 333 BranchConditional 334 335 336
335: 6(float) Load 318(f) 335: Label
336: 6(float) FAdd 335 334 337: 179(bvec4) Load 181(ub41)
Store 318(f) 336 339: 179(bvec4) Load 338(ub42)
337: 7(fvec4) Load 9(v) 340: 179(bvec4) IEqual 337 339
338: 7(fvec4) Load 9(v) 341: 178(bool) Any 340
339: 6(float) Dot 337 338 Branch 336
340: 6(float) Load 318(f) 336: Label
341: 6(float) FAdd 340 339 342: 178(bool) Phi 334 328 341 335
Store 318(f) 341 Store 301(b) 342
342: 6(float) Load 318(f) 343: 178(bool) Load 301(b)
343: 6(float) Load 172(uf) SelectionMerge 345 None
344: 6(float) FMul 342 343 BranchConditional 343 344 345
345: 6(float) Load 318(f) 344: Label
346: 6(float) FAdd 345 344 346: 179(bvec4) Load 181(ub41)
Store 318(f) 346 347: 179(bvec4) Load 338(ub42)
348: 7(fvec4) Load 9(v) 348: 179(bvec4) INotEqual 346 347
349: 347(fvec3) VectorShuffle 348 348 0 1 2 349: 178(bool) Any 348
350: 7(fvec4) Load 9(v) Branch 345
351: 347(fvec3) VectorShuffle 350 350 0 1 2 345: Label
352: 347(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 349 351 350: 178(bool) Phi 343 336 349 344
353: 6(float) CompositeExtract 352 0 Store 301(b) 350
354: 6(float) Load 318(f) 351: 178(bool) Load 301(b)
355: 6(float) FAdd 354 353 352: 179(bvec4) Load 181(ub41)
Store 318(f) 355 353: 178(bool) Any 352
356: 6(float) Load 318(f) 354: 178(bool) LogicalAnd 351 353
357: 6(float) Load 172(uf) Store 301(b) 354
358: 217(bool) FOrdEqual 356 357 355: 178(bool) Load 301(b)
359: 217(bool) LogicalNot 358 356: 179(bvec4) Load 181(ub41)
357: 178(bool) All 356
358: 178(bool) LogicalAnd 355 357
Store 301(b) 358
359: 178(bool) Load 301(b)
SelectionMerge 361 None SelectionMerge 361 None
BranchConditional 359 360 361 BranchConditional 359 360 361
360: Label 360: Label
362: 6(float) Load 318(f) 362: 179(bvec4) Load 181(ub41)
363: 6(float) Load 172(uf) 363: 179(bvec4) LogicalNot 362
364: 217(bool) FOrdNotEqual 362 363 364: 178(bool) Any 363
365: 6(float) Load 318(f)
367: 217(bool) FOrdNotEqual 365 366
368: 217(bool) LogicalAnd 364 367
Branch 361 Branch 361
361: Label 361: Label
369: 217(bool) Phi 358 314 368 360 365: 178(bool) Phi 359 345 364 360
SelectionMerge 371 None Store 301(b) 365
BranchConditional 369 370 371 366: 18(int) Load 20(i)
370: Label 367: 18(int) Load 22(ui)
372: 6(float) Load 318(f) 368: 18(int) IAdd 366 367
374: 6(float) FAdd 372 373 369: 18(int) Load 20(i)
Store 318(f) 374 370: 18(int) IMul 368 369
Branch 371 371: 18(int) Load 22(ui)
371: Label 372: 18(int) ISub 370 371
375: 18(int) Load 22(ui) 373: 18(int) Load 20(i)
376: 18(int) Load 20(i) 374: 18(int) SDiv 372 373
377: 18(int) BitwiseAnd 376 375 Store 20(i) 374
375: 18(int) Load 20(i)
376: 18(int) Load 22(ui)
377: 18(int) SMod 375 376
Store 20(i) 377 Store 20(i) 377
379: 18(int) Load 20(i) 378: 18(int) Load 20(i)
380: 18(int) BitwiseOr 379 378 379: 18(int) Load 22(ui)
Store 20(i) 380 380: 178(bool) IEqual 378 379
381: 18(int) Load 22(ui) 381: 178(bool) LogicalNot 380
382: 18(int) Load 20(i) SelectionMerge 383 None
383: 18(int) BitwiseXor 382 381 BranchConditional 381 382 383
Store 20(i) 383 382: Label
385: 18(int) Load 20(i) 384: 18(int) Load 20(i)
386: 18(int) SMod 385 384 385: 18(int) Load 22(ui)
Store 20(i) 386 386: 178(bool) INotEqual 384 385
387: 18(int) Load 20(i) 387: 18(int) Load 20(i)
388: 18(int) ShiftRightArithmetic 387 309 388: 18(int) Load 22(ui)
Store 20(i) 388 389: 178(bool) IEqual 387 388
389: 18(int) Load 22(ui) 390: 178(bool) LogicalAnd 386 389
390: 18(int) Load 20(i) 391: 18(int) Load 20(i)
391: 18(int) ShiftLeftLogical 390 389 393: 178(bool) INotEqual 391 392
Store 20(i) 391 394: 178(bool) LogicalNotEqual 390 393
392: 18(int) Load 20(i) Branch 383
393: 18(int) Not 392 383: Label
Store 20(i) 393 395: 178(bool) Phi 380 361 394 382
394: 217(bool) Load 219(b) SelectionMerge 397 None
395: 217(bool) LogicalNot 394 BranchConditional 395 396 397
Store 219(b) 395 396: Label
399: 217(bool) Load 219(b) 398: 18(int) Load 20(i)
SelectionMerge 401 None 400: 18(int) IAdd 398 399
BranchConditional 399 400 410 Store 20(i) 400
400: Label Branch 397
402: 18(int) Load 20(i) 397: Label
403: 6(float) ConvertSToF 402 401: 6(float) Load 211(uf)
404: 7(fvec4) CompositeConstruct 403 403 403 403 402: 6(float) Load 211(uf)
405: 6(float) Load 318(f) 403: 6(float) FAdd 401 402
406: 7(fvec4) CompositeConstruct 405 405 405 405 404: 6(float) Load 211(uf)
407: 7(fvec4) FAdd 404 406 405: 6(float) FMul 403 404
408: 7(fvec4) Load 9(v) 406: 6(float) Load 211(uf)
409: 7(fvec4) FAdd 407 408 407: 6(float) FSub 405 406
Store 398 409 408: 6(float) Load 211(uf)
Branch 401 409: 6(float) FDiv 407 408
410: Label Store 188(f) 409
411: 7(fvec4) Load 9(v) 410: 7(fvec4) Load 9(v)
Store 398 411 411: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 410
Branch 401 412: 6(float) Load 188(f)
401: Label 413: 6(float) FAdd 412 411
412: 7(fvec4) Load 398 Store 188(f) 413
Store 397(gl_FragColor) 412 414: 7(fvec4) Load 9(v)
415: 7(fvec4) Load 9(v)
416: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 414 415
417: 6(float) Load 188(f)
418: 6(float) FAdd 417 416
Store 188(f) 418
419: 7(fvec4) Load 9(v)
420: 7(fvec4) Load 9(v)
421: 6(float) Dot 419 420
422: 6(float) Load 188(f)
423: 6(float) FAdd 422 421
Store 188(f) 423
424: 6(float) Load 188(f)
425: 6(float) Load 211(uf)
426: 6(float) FMul 424 425
427: 6(float) Load 188(f)
428: 6(float) FAdd 427 426
Store 188(f) 428
430: 7(fvec4) Load 9(v)
431: 429(fvec3) VectorShuffle 430 430 0 1 2
432: 7(fvec4) Load 9(v)
433: 429(fvec3) VectorShuffle 432 432 0 1 2
434: 429(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 431 433
435: 6(float) CompositeExtract 434 0
436: 6(float) Load 188(f)
437: 6(float) FAdd 436 435
Store 188(f) 437
438: 6(float) Load 188(f)
439: 6(float) Load 211(uf)
440: 178(bool) FOrdEqual 438 439
441: 178(bool) LogicalNot 440
SelectionMerge 443 None
BranchConditional 441 442 443
442: Label
444: 6(float) Load 188(f)
445: 6(float) Load 211(uf)
446: 178(bool) FOrdNotEqual 444 445
447: 6(float) Load 188(f)
449: 178(bool) FOrdNotEqual 447 448
450: 178(bool) LogicalAnd 446 449
Branch 443
443: Label
451: 178(bool) Phi 440 397 450 442
SelectionMerge 453 None
BranchConditional 451 452 453
452: Label
454: 6(float) Load 188(f)
456: 6(float) FAdd 454 455
Store 188(f) 456
Branch 453
453: Label
457: 18(int) Load 22(ui)
458: 18(int) Load 20(i)
459: 18(int) BitwiseAnd 458 457
Store 20(i) 459
461: 18(int) Load 20(i)
462: 18(int) BitwiseOr 461 460
Store 20(i) 462
463: 18(int) Load 22(ui)
464: 18(int) Load 20(i)
465: 18(int) BitwiseXor 464 463
Store 20(i) 465
467: 18(int) Load 20(i)
468: 18(int) SMod 467 466
Store 20(i) 468
469: 18(int) Load 20(i)
470: 18(int) ShiftRightArithmetic 469 392
Store 20(i) 470
471: 18(int) Load 22(ui)
472: 18(int) Load 20(i)
473: 18(int) ShiftLeftLogical 472 471
Store 20(i) 473
474: 18(int) Load 20(i)
475: 18(int) Not 474
Store 20(i) 475
476: 178(bool) Load 301(b)
477: 178(bool) LogicalNot 476
Store 301(b) 477
481: 178(bool) Load 301(b)
SelectionMerge 483 None
BranchConditional 481 482 492
482: Label
484: 18(int) Load 20(i)
485: 6(float) ConvertSToF 484
486: 7(fvec4) CompositeConstruct 485 485 485 485
487: 6(float) Load 188(f)
488: 7(fvec4) CompositeConstruct 487 487 487 487
489: 7(fvec4) FAdd 486 488
490: 7(fvec4) Load 9(v)
491: 7(fvec4) FAdd 489 490
Store 480 491
Branch 483
492: Label
493: 7(fvec4) Load 9(v)
Store 480 493
Branch 483
483: Label
494: 7(fvec4) Load 480
Store 479(FragColor) 494
Return Return
FunctionEnd FunctionEnd

View File

@ -1,8 +1,4 @@
spv.matrix.frag spv.matrix.frag
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
WARNING: 0:17: varying deprecated in version 130; may be removed in future release
WARNING: 0:22: varying deprecated in version 130; may be removed in future release
Linked fragment stage: Linked fragment stage:

View File

@ -1,4 +1,4 @@
#version 130 #version 450
uniform ivec4 uiv4; uniform ivec4 uiv4;
uniform vec4 uv4; uniform vec4 uv4;
@ -7,10 +7,10 @@ uniform bvec4 ub41, ub42;
uniform float uf; uniform float uf;
uniform int ui; uniform int ui;
#ifdef TEST_POST_110
uniform uvec4 uuv4; uniform uvec4 uuv4;
uniform unsigned int uui; uniform uint uui;
#endif
out vec4 FragColor;
void main() void main()
{ {
@ -19,9 +19,7 @@ void main()
bool b; bool b;
bvec4 bv4; bvec4 bv4;
int i; int i;
#ifdef TEST_POST_110
uint u; uint u;
#endif
// floating point // floating point
v = radians(uv4); v = radians(uv4);
@ -51,37 +49,29 @@ void main()
v += sign(v); v += sign(v);
v += floor(v); v += floor(v);
#ifdef TEST_POST_110
v += trunc(v); v += trunc(v);
v += round(v); v += round(v);
v += roundEven(v); v += roundEven(v);
#endif
v += ceil(v); v += ceil(v);
v += fract(v); v += fract(v);
v += mod(v, v); v += mod(v, v);
v += mod(v, v.x); v += mod(v, v.x);
#ifdef TEST_POST_110
v += modf(v, v); v += modf(v, v);
#endif
v += min(v, uv4); v += min(v, uv4);
v += max(v, uv4); v += max(v, uv4);
v += clamp(v, uv4, uv4); v += clamp(v, uv4, uv4);
v += mix(v,v,v); v += mix(v,v,v);
#ifdef TEST_POST_110 v += mix(v,v,ub41);
v += mix(v,v,ub); v += mix(v,v,f);
v += intBitsToFloat(v); //spv v += intBitsToFloat(ui);
v += uintBitsToFloat(v); // v += uintBitsToFloat(uui);
v += fma(v); // i += floatBitsToInt(f);
v += frexp(v); // u += floatBitsToUint(f);
v += ldexp(v); v += fma(v, uv4, v);
v += unpackUnorm2x16(v);
v += unpackUnorm4x8(v);
v += unpackSnorm4x8(v);
#endif
v += step(v,v); v += step(v,v);
v += smoothstep(v,v,v); v += smoothstep(v,v,v);
@ -94,9 +84,7 @@ void main()
v += dFdx(v); v += dFdx(v);
v += dFdy(v); v += dFdy(v);
v += fwidth(v); v += fwidth(v);
//noise*(v);
#ifdef TEST_POST_110
// signed integer // signed integer
i += abs(ui); i += abs(ui);
i += sign(i); i += sign(i);
@ -104,29 +92,14 @@ void main()
i += max(i, ui); i += max(i, ui);
i += clamp(i, ui, ui); i += clamp(i, ui, ui);
floatsBitsToInt(v);
packUnorm2x16(v);
packUnorm4x8(v);
packSnorm4x8(v);
// unsigned integer // unsigned integer
u = abs(uui);
u += sign(u);
u += min(u, uui); u += min(u, uui);
u += max(u, uui); u += max(u, uui);
u += clamp(u, uui, uui); u += clamp(u, uui, uui);
u += floatsBitToInt(v);
u += packUnorm2x16(v);
u += packUnorm4x8(v);
u += packSnorm4x8(v);
u += floatBitsToUInt(v);
#endif
// bool //// bool
#ifdef TEST_POST_110
b = isnan(uf); b = isnan(uf);
b = isinf(v); b = isinf(f);
#endif
b = any(lessThan(v, uv4)); b = any(lessThan(v, uv4));
b = (b && any(lessThanEqual(v, uv4))); b = (b && any(lessThanEqual(v, uv4)));
b = (b && any(greaterThan(v, uv4))); b = (b && any(greaterThan(v, uv4)));
@ -162,5 +135,5 @@ void main()
i = ~i; i = ~i;
b = !b; b = !b;
gl_FragColor = b ? vec4(i) + vec4(f) + v : v; FragColor = b ? vec4(i) + vec4(f) + v : v;
} }

View File

@ -2,11 +2,7 @@
uniform vec4 u[3]; uniform vec4 u[3];
#ifdef TEST_POST_110
varying vec2 v[];
#else
varying vec2 v[2]; varying vec2 v[2];
#endif
void main() void main()
{ {

View File

@ -1,26 +1,15 @@
#version 130 #version 130
//#define TEST_POST_110
uniform mat3 colorTransform; uniform mat3 colorTransform;
varying vec3 Color; in vec3 Color;
uniform mat4 m, n; uniform mat4 m, n;
#ifdef TEST_POST_110
uniform mat4x3 um43; uniform mat4x3 um43;
uniform mat3x4 un34; uniform mat3x4 un34;
#else
uniform mat4 um43;
uniform mat4 un34;
#endif
varying vec4 v; in vec4 v;
#ifdef TEST_POST_110 in vec3 u;
varying vec3 u;
#else
varying vec4 u;
#endif
void main() void main()
{ {
@ -34,19 +23,9 @@ void main()
gl_FragColor += v * (m - n); gl_FragColor += v * (m - n);
} }
#ifdef TEST_POST_110
mat3x4 m34 = outerProduct(v, u); mat3x4 m34 = outerProduct(v, u);
m34 += mat4(v.x); m34 += mat3x4(v.x);
m34 += mat4(u, u.x, u, u.x, u, u.x, u.x); m34 += mat3x4(u, u.x, u, u.x, u, u.x);
#else
mat4 m34 = mat4(v.x*u.x, v.x*u.y, v.x*u.z, v.x*u.w,
v.y*u.x, v.y*u.y, v.y*u.z, v.y*u.w,
v.z*u.x, v.z*u.y, v.z*u.z, v.z*u.w,
v.w*u.x, v.w*u.y, v.w*u.z, v.w*u.w);
m34 += mat4(v.x);
m34 += mat4(u, u.x, u, u.x, u, u.x, u.x);
#endif
if (m34 == un34) if (m34 == un34)
gl_FragColor += m34 * u; gl_FragColor += m34 * u;

View File

@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run). // For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "SPIRV99.836" #define GLSLANG_REVISION "SPIRV99.839"
#define GLSLANG_DATE "09-Dec-2015" #define GLSLANG_DATE "11-Dec-2015"