spv.switch.frag Warning, version 310 is not yet complete; most version-specific features are present, but some are missing. WARNING: 0:121: 'switch' : last case/default label not followed by statements WARNING: 0:134: 'switch' : last case/default label not followed by statements WARNING: 0:139: 'switch' : last case/default label not followed by statements Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 263 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 73 221 ExecutionMode 4 OriginLowerLeft Source ESSL 310 Name 4 "main" Name 15 "foo1(vf4;vf4;i1;" Name 12 "v1" Name 13 "v2" Name 14 "i1" Name 20 "foo2(vf4;vf4;i1;" Name 17 "v1" Name 18 "v2" Name 19 "i1" Name 58 "local" Name 60 "c" Name 71 "f" Name 73 "x" Name 127 "d" Name 153 "i" Name 171 "j" Name 221 "color" Name 227 "v" Name 228 "param" Name 230 "param" Name 232 "param" Name 240 "param" Name 242 "param" Name 244 "param" Decorate 58(local) RelaxedPrecision Decorate 60(c) RelaxedPrecision Decorate 71(f) RelaxedPrecision Decorate 73(x) RelaxedPrecision Decorate 127(d) RelaxedPrecision Decorate 153(i) RelaxedPrecision Decorate 171(j) RelaxedPrecision Decorate 221(color) RelaxedPrecision Decorate 227(v) RelaxedPrecision 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) 9: TypeInt 32 1 10: TypePointer Function 9(int) 11: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr) 36: 6(float) Constant 0 37: 7(fvec4) ConstantComposite 36 36 36 36 47: 6(float) Constant 1065353216 48: 7(fvec4) ConstantComposite 47 47 47 47 59: TypePointer UniformConstant 9(int) 60(c): 59(ptr) Variable UniformConstant 63: 9(int) Constant 1 70: TypePointer Function 6(float) 72: TypePointer Input 6(float) 73(x): 72(ptr) Variable Input 127(d): 59(ptr) Variable UniformConstant 154: 9(int) Constant 0 159: 9(int) Constant 10 160: TypeBool 172: 9(int) Constant 20 177: 9(int) Constant 30 182: 6(float) Constant 1120429670 202: 6(float) Constant 1079739679 220: TypePointer Output 6(float) 221(color): 220(ptr) Variable Output 226: TypePointer UniformConstant 7(fvec4) 227(v): 226(ptr) Variable UniformConstant 235: TypeInt 32 0 236: 235(int) Constant 1 247: 235(int) Constant 2 4(main): 2 Function None 3 5: Label 58(local): 10(ptr) Variable Function 71(f): 70(ptr) Variable Function 153(i): 10(ptr) Variable Function 171(j): 10(ptr) Variable Function 228(param): 8(ptr) Variable Function 230(param): 8(ptr) Variable Function 232(param): 10(ptr) Variable Function 240(param): 8(ptr) Variable Function 242(param): 8(ptr) Variable Function 244(param): 10(ptr) Variable Function 61: 9(int) Load 60(c) Store 58(local) 61 62: 9(int) Load 58(local) 64: 9(int) IAdd 62 63 Store 58(local) 64 65: 9(int) Load 60(c) SelectionMerge 69 None Switch 65 68 case 1: 66 case 2: 67 68: Label 80: 6(float) Load 73(x) 81: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 80 Store 71(f) 81 Branch 69 66: Label 74: 6(float) Load 73(x) 75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74 Store 71(f) 75 Branch 69 67: Label 77: 6(float) Load 73(x) 78: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 77 Store 71(f) 78 Branch 69 69: Label 83: 9(int) Load 60(c) SelectionMerge 87 None Switch 83 86 case 1: 84 case 2: 85 86: Label 97: 6(float) Load 73(x) 98: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 97 99: 6(float) Load 71(f) 100: 6(float) FAdd 99 98 Store 71(f) 100 Branch 87 84: Label 88: 6(float) Load 73(x) 89: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 88 90: 6(float) Load 71(f) 91: 6(float) FAdd 90 89 Store 71(f) 91 Branch 85 85: Label 92: 6(float) Load 73(x) 93: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 92 94: 6(float) Load 71(f) 95: 6(float) FAdd 94 93 Store 71(f) 95 Branch 87 87: Label 102: 9(int) Load 60(c) SelectionMerge 105 None Switch 102 105 case 1: 103 case 2: 104 103: Label 106: 6(float) Load 73(x) 107: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 106 108: 6(float) Load 71(f) 109: 6(float) FAdd 108 107 Store 71(f) 109 Branch 105 104: Label 111: 6(float) Load 73(x) 112: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 111 113: 6(float) Load 71(f) 114: 6(float) FAdd 113 112 Store 71(f) 114 Branch 105 105: Label 117: 9(int) Load 60(c) SelectionMerge 121 None Switch 117 120 case 1: 118 case 2: 119 120: Label 148: 6(float) Load 73(x) 149: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 148 150: 6(float) Load 71(f) 151: 6(float) FAdd 150 149 Store 71(f) 151 Branch 121 118: Label 122: 6(float) Load 73(x) 123: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 122 124: 6(float) Load 71(f) 125: 6(float) FAdd 124 123 Store 71(f) 125 Branch 121 119: Label 128: 9(int) Load 127(d) SelectionMerge 131 None Switch 128 131 case 1: 129 case 2: 130 129: Label 132: 6(float) Load 73(x) 133: 6(float) Load 73(x) 134: 6(float) FMul 132 133 135: 6(float) Load 73(x) 136: 6(float) FMul 134 135 137: 6(float) Load 71(f) 138: 6(float) FAdd 137 136 Store 71(f) 138 Branch 131 130: Label 140: 6(float) Load 73(x) 141: 6(float) Load 73(x) 142: 6(float) FMul 140 141 143: 6(float) Load 71(f) 144: 6(float) FAdd 143 142 Store 71(f) 144 Branch 131 131: Label Branch 121 121: Label Store 153(i) 154 Branch 155 155: Label 158: 9(int) Load 153(i) 161: 160(bool) SLessThan 158 159 LoopMerge 156 155 None BranchConditional 161 157 156 157: Label 162: 9(int) Load 60(c) SelectionMerge 166 None Switch 162 165 case 1: 163 case 2: 164 165: Label 196: 6(float) Load 73(x) 197: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 196 198: 6(float) Load 71(f) 199: 6(float) FAdd 198 197 Store 71(f) 199 Branch 166 163: Label 167: 6(float) Load 73(x) 168: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 167 169: 6(float) Load 71(f) 170: 6(float) FAdd 169 168 Store 71(f) 170 Store 171(j) 172 Branch 173 173: Label 176: 9(int) Load 171(j) 178: 160(bool) SLessThan 176 177 LoopMerge 174 173 None BranchConditional 178 175 174 175: Label 179: 6(float) Load 71(f) 180: 6(float) FAdd 179 47 Store 71(f) 180 181: 6(float) Load 71(f) 183: 160(bool) FOrdLessThan 181 182 SelectionMerge 185 None BranchConditional 183 184 185 184: Label Branch 174 185: Label 187: 9(int) Load 171(j) 188: 9(int) IAdd 187 63 Store 171(j) 188 Branch 173 174: Label Branch 166 164: Label 190: 6(float) Load 73(x) 191: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 190 192: 6(float) Load 71(f) 193: 6(float) FAdd 192 191 Store 71(f) 193 Branch 166 166: Label 201: 6(float) Load 71(f) 203: 160(bool) FOrdLessThan 201 202 SelectionMerge 205 None BranchConditional 203 204 205 204: Label Branch 156 205: Label 207: 9(int) Load 153(i) 208: 9(int) IAdd 207 63 Store 153(i) 208 Branch 155 156: Label 209: 9(int) Load 60(c) SelectionMerge 212 None Switch 209 212 case 1: 210 case 2: 211 210: Label 213: 6(float) Load 73(x) 214: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 213 215: 6(float) Load 71(f) 216: 6(float) FAdd 215 214 Store 71(f) 216 Branch 212 211: Label Branch 212 212: Label 222: 6(float) Load 71(f) 223: 9(int) Load 58(local) 224: 6(float) ConvertSToF 223 225: 6(float) FAdd 222 224 Store 221(color) 225 229: 7(fvec4) Load 227(v) Store 228(param) 229 231: 7(fvec4) Load 227(v) Store 230(param) 231 233: 9(int) Load 60(c) Store 232(param) 233 234: 7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 228(param) 230(param) 232(param) 237: 6(float) CompositeExtract 234 1 238: 6(float) Load 221(color) 239: 6(float) FAdd 238 237 Store 221(color) 239 241: 7(fvec4) Load 227(v) Store 240(param) 241 243: 7(fvec4) Load 227(v) Store 242(param) 243 245: 9(int) Load 60(c) Store 244(param) 245 246: 7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 240(param) 242(param) 244(param) 248: 6(float) CompositeExtract 246 2 249: 6(float) Load 221(color) 250: 6(float) FAdd 249 248 Store 221(color) 250 251: 9(int) Load 60(c) SelectionMerge 254 None Switch 251 253 case 0: 252 253: Label Branch 254 252: Label Branch 254 254: Label 258: 9(int) Load 60(c) SelectionMerge 260 None Switch 258 259 259: Label Branch 260 260: Label Return FunctionEnd 15(foo1(vf4;vf4;i1;): 7(fvec4) Function None 11 12(v1): 8(ptr) FunctionParameter 13(v2): 8(ptr) FunctionParameter 14(i1): 10(ptr) FunctionParameter 16: Label 22: 9(int) Load 14(i1) SelectionMerge 26 None Switch 22 26 case 0: 23 case 2: 24 case 1: 24 case 3: 25 23: Label 27: 7(fvec4) Load 12(v1) ReturnValue 27 24: Label 29: 7(fvec4) Load 13(v2) ReturnValue 29 25: Label 31: 7(fvec4) Load 12(v1) 32: 7(fvec4) Load 13(v2) 33: 7(fvec4) FMul 31 32 ReturnValue 33 26: Label ReturnValue 37 FunctionEnd 20(foo2(vf4;vf4;i1;): 7(fvec4) Function None 11 17(v1): 8(ptr) FunctionParameter 18(v2): 8(ptr) FunctionParameter 19(i1): 10(ptr) FunctionParameter 21: Label 39: 9(int) Load 19(i1) SelectionMerge 44 None Switch 39 44 case 0: 40 case 2: 41 case 1: 42 case 3: 43 40: Label 45: 7(fvec4) Load 17(v1) ReturnValue 45 41: Label ReturnValue 48 42: Label 50: 7(fvec4) Load 18(v2) ReturnValue 50 43: Label 52: 7(fvec4) Load 17(v1) 53: 7(fvec4) Load 18(v2) 54: 7(fvec4) FMul 52 53 ReturnValue 54 44: Label ReturnValue 37 FunctionEnd