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
228: 7(fvec4) Load 9(v) 225: 7(fvec4) Load 9(v)
229: 7(fvec4) Load 11(uv4) 226: 7(fvec4) FAdd 225 224
230: 222(bvec4) FOrdLessThanEqual 228 229 Store 9(v) 226
231: 217(bool) Any 230 227: 7(fvec4) Load 9(v)
Branch 227 228: 7(fvec4) Load 9(v)
227: Label 229: 7(fvec4) Load 9(v)
232: 217(bool) Phi 225 5 231 226 230: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 227 228 229
Store 219(b) 232 231: 7(fvec4) Load 9(v)
233: 217(bool) Load 219(b) 232: 7(fvec4) FAdd 231 230
SelectionMerge 235 None Store 9(v) 232
BranchConditional 233 234 235 233: 7(fvec4) Load 9(v)
234: Label 234: 7(fvec4) Load 9(v)
236: 7(fvec4) Load 9(v) 235: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 233 234
237: 7(fvec4) Load 11(uv4) 236: 7(fvec4) Load 9(v)
238: 222(bvec4) FOrdGreaterThan 236 237 237: 7(fvec4) FAdd 236 235
239: 217(bool) Any 238 Store 9(v) 237
Branch 235 238: 7(fvec4) Load 9(v)
235: Label 239: 7(fvec4) Load 9(v)
240: 217(bool) Phi 233 227 239 234 240: 6(float) Load 211(uf)
Store 219(b) 240 241: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 238 239 240
241: 217(bool) Load 219(b) 242: 7(fvec4) Load 9(v)
SelectionMerge 243 None 243: 7(fvec4) FAdd 242 241
BranchConditional 241 242 243 Store 9(v) 243
242: Label 244: 7(fvec4) Load 9(v)
244: 7(fvec4) Load 9(v) 245: 7(fvec4) DPdx 244
245: 7(fvec4) Load 11(uv4) 246: 7(fvec4) Load 9(v)
246: 222(bvec4) FOrdGreaterThanEqual 244 245 247: 7(fvec4) FAdd 246 245
247: 217(bool) Any 246 Store 9(v) 247
Branch 243 248: 7(fvec4) Load 9(v)
243: Label 249: 7(fvec4) DPdy 248
248: 217(bool) Phi 241 235 247 242 250: 7(fvec4) Load 9(v)
Store 219(b) 248 251: 7(fvec4) FAdd 250 249
249: 217(bool) Load 219(b) Store 9(v) 251
SelectionMerge 251 None 252: 7(fvec4) Load 9(v)
BranchConditional 249 250 251 253: 7(fvec4) Fwidth 252
250: Label 254: 7(fvec4) Load 9(v)
254: 222(bvec4) Load 253(ub41) 255: 7(fvec4) FAdd 254 253
256: 222(bvec4) Load 255(ub42) Store 9(v) 255
257: 222(bvec4) IEqual 254 256 256: 18(int) Load 22(ui)
258: 217(bool) Any 257 257: 18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 256
Branch 251 258: 18(int) Load 20(i)
251: Label 259: 18(int) IAdd 258 257
259: 217(bool) Phi 249 243 258 250 Store 20(i) 259
Store 219(b) 259 260: 18(int) Load 20(i)
260: 217(bool) Load 219(b) 261: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 260
SelectionMerge 262 None 262: 18(int) Load 20(i)
BranchConditional 260 261 262 263: 18(int) IAdd 262 261
261: Label Store 20(i) 263
263: 222(bvec4) Load 253(ub41) 264: 18(int) Load 20(i)
264: 222(bvec4) Load 255(ub42) 265: 18(int) Load 22(ui)
265: 222(bvec4) INotEqual 263 264 266: 18(int) ExtInst 1(GLSL.std.450) 39(SMin) 264 265
266: 217(bool) Any 265 267: 18(int) Load 20(i)
Branch 262 268: 18(int) IAdd 267 266
262: Label Store 20(i) 268
267: 217(bool) Phi 260 251 266 261 269: 18(int) Load 20(i)
Store 219(b) 267 270: 18(int) Load 22(ui)
268: 217(bool) Load 219(b) 271: 18(int) ExtInst 1(GLSL.std.450) 42(SMax) 269 270
269: 222(bvec4) Load 253(ub41) 272: 18(int) Load 20(i)
270: 217(bool) Any 269 273: 18(int) IAdd 272 271
271: 217(bool) LogicalAnd 268 270 Store 20(i) 273
Store 219(b) 271 274: 18(int) Load 20(i)
272: 217(bool) Load 219(b) 275: 18(int) Load 22(ui)
273: 222(bvec4) Load 253(ub41) 276: 18(int) Load 22(ui)
274: 217(bool) All 273 277: 18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 274 275 276
275: 217(bool) LogicalAnd 272 274 278: 18(int) Load 20(i)
Store 219(b) 275 279: 18(int) IAdd 278 277
276: 217(bool) Load 219(b) Store 20(i) 279
SelectionMerge 278 None 282: 141(int) Load 281(u)
BranchConditional 276 277 278 285: 141(int) Load 284(uui)
277: Label 286: 141(int) ExtInst 1(GLSL.std.450) 38(UMin) 282 285
279: 222(bvec4) Load 253(ub41) 287: 141(int) Load 281(u)
280: 222(bvec4) LogicalNot 279 288: 141(int) IAdd 287 286
281: 217(bool) Any 280 Store 281(u) 288
Branch 278 289: 141(int) Load 281(u)
278: Label 290: 141(int) Load 284(uui)
282: 217(bool) Phi 276 262 281 277 291: 141(int) ExtInst 1(GLSL.std.450) 41(UMax) 289 290
Store 219(b) 282 292: 141(int) Load 281(u)
283: 18(int) Load 20(i) 293: 141(int) IAdd 292 291
284: 18(int) Load 22(ui) Store 281(u) 293
285: 18(int) IAdd 283 284 294: 141(int) Load 281(u)
286: 18(int) Load 20(i) 295: 141(int) Load 284(uui)
287: 18(int) IMul 285 286 296: 141(int) Load 284(uui)
288: 18(int) Load 22(ui) 297: 141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 294 295 296
289: 18(int) ISub 287 288 298: 141(int) Load 281(u)
290: 18(int) Load 20(i) 299: 141(int) IAdd 298 297
291: 18(int) SDiv 289 290 Store 281(u) 299
Store 20(i) 291 302: 6(float) Load 211(uf)
292: 18(int) Load 20(i) 303: 178(bool) IsNan 302
293: 18(int) Load 22(ui) Store 301(b) 303
294: 18(int) SMod 292 293 304: 6(float) Load 188(f)
Store 20(i) 294 305: 178(bool) IsInf 304
295: 18(int) Load 20(i) Store 301(b) 305
296: 18(int) Load 22(ui) 306: 7(fvec4) Load 9(v)
297: 217(bool) IEqual 295 296 307: 7(fvec4) Load 11(uv4)
298: 217(bool) LogicalNot 297 308: 179(bvec4) FOrdLessThan 306 307
SelectionMerge 300 None 309: 178(bool) Any 308
BranchConditional 298 299 300 Store 301(b) 309
299: Label 310: 178(bool) Load 301(b)
301: 18(int) Load 20(i) SelectionMerge 312 None
302: 18(int) Load 22(ui) BranchConditional 310 311 312
303: 217(bool) INotEqual 301 302 311: Label
304: 18(int) Load 20(i) 313: 7(fvec4) Load 9(v)
305: 18(int) Load 22(ui) 314: 7(fvec4) Load 11(uv4)
306: 217(bool) IEqual 304 305 315: 179(bvec4) FOrdLessThanEqual 313 314
307: 217(bool) LogicalAnd 303 306 316: 178(bool) Any 315
308: 18(int) Load 20(i) Branch 312
310: 217(bool) INotEqual 308 309 312: Label
311: 217(bool) LogicalNotEqual 307 310 317: 178(bool) Phi 310 5 316 311
Branch 300 Store 301(b) 317
300: Label 318: 178(bool) Load 301(b)
312: 217(bool) Phi 297 278 311 299 SelectionMerge 320 None
SelectionMerge 314 None BranchConditional 318 319 320
BranchConditional 312 313 314 319: Label
313: Label 321: 7(fvec4) Load 9(v)
315: 18(int) Load 20(i) 322: 7(fvec4) Load 11(uv4)
317: 18(int) IAdd 315 316 323: 179(bvec4) FOrdGreaterThan 321 322
Store 20(i) 317 324: 178(bool) Any 323
Branch 314 Branch 320
314: Label 320: Label
319: 6(float) Load 172(uf) 325: 178(bool) Phi 318 312 324 319
320: 6(float) Load 172(uf) Store 301(b) 325
321: 6(float) FAdd 319 320 326: 178(bool) Load 301(b)
322: 6(float) Load 172(uf) SelectionMerge 328 None
323: 6(float) FMul 321 322 BranchConditional 326 327 328
324: 6(float) Load 172(uf) 327: Label
325: 6(float) FSub 323 324 329: 7(fvec4) Load 9(v)
326: 6(float) Load 172(uf) 330: 7(fvec4) Load 11(uv4)
327: 6(float) FDiv 325 326 331: 179(bvec4) FOrdGreaterThanEqual 329 330
Store 318(f) 327 332: 178(bool) Any 331
328: 7(fvec4) Load 9(v) Branch 328
329: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 328 328: Label
330: 6(float) Load 318(f) 333: 178(bool) Phi 326 320 332 327
331: 6(float) FAdd 330 329 Store 301(b) 333
Store 318(f) 331 334: 178(bool) Load 301(b)
332: 7(fvec4) Load 9(v) SelectionMerge 336 None
333: 7(fvec4) Load 9(v) BranchConditional 334 335 336
334: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 332 333 335: Label
335: 6(float) Load 318(f) 337: 179(bvec4) Load 181(ub41)
336: 6(float) FAdd 335 334 339: 179(bvec4) Load 338(ub42)
Store 318(f) 336 340: 179(bvec4) IEqual 337 339
337: 7(fvec4) Load 9(v) 341: 178(bool) Any 340
338: 7(fvec4) Load 9(v) Branch 336
339: 6(float) Dot 337 338 336: Label
340: 6(float) Load 318(f) 342: 178(bool) Phi 334 328 341 335
341: 6(float) FAdd 340 339 Store 301(b) 342
Store 318(f) 341 343: 178(bool) Load 301(b)
342: 6(float) Load 318(f) SelectionMerge 345 None
343: 6(float) Load 172(uf) BranchConditional 343 344 345
344: 6(float) FMul 342 343 344: Label
345: 6(float) Load 318(f) 346: 179(bvec4) Load 181(ub41)
346: 6(float) FAdd 345 344 347: 179(bvec4) Load 338(ub42)
Store 318(f) 346 348: 179(bvec4) INotEqual 346 347
348: 7(fvec4) Load 9(v) 349: 178(bool) Any 348
349: 347(fvec3) VectorShuffle 348 348 0 1 2 Branch 345
350: 7(fvec4) Load 9(v) 345: Label
351: 347(fvec3) VectorShuffle 350 350 0 1 2 350: 178(bool) Phi 343 336 349 344
352: 347(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 349 351 Store 301(b) 350
353: 6(float) CompositeExtract 352 0 351: 178(bool) Load 301(b)
354: 6(float) Load 318(f) 352: 179(bvec4) Load 181(ub41)
355: 6(float) FAdd 354 353 353: 178(bool) Any 352
Store 318(f) 355 354: 178(bool) LogicalAnd 351 353
356: 6(float) Load 318(f) Store 301(b) 354
357: 6(float) Load 172(uf) 355: 178(bool) Load 301(b)
358: 217(bool) FOrdEqual 356 357 356: 179(bvec4) Load 181(ub41)
359: 217(bool) LogicalNot 358 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()
{ {
@ -29,24 +18,14 @@ void main()
if (m != n) if (m != n)
gl_FragColor += v; gl_FragColor += v;
else { else {
gl_FragColor += m * v; gl_FragColor += m * v;
gl_FragColor += v * (m - n); gl_FragColor += v * (m - n);
} }
#ifdef TEST_POST_110
mat3x4 m34 = outerProduct(v, u);
m34 += mat4(v.x);
m34 += mat4(u, u.x, u, u.x, u, u.x, 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 mat3x4 m34 = outerProduct(v, u);
m34 += mat3x4(v.x);
m34 += mat3x4(u, u.x, u, u.x, u, u.x);
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"