spv.switch.frag WARNING: 0:121: 'switch' : last case/default label not followed by statements Linked fragment stage: // Module Version 99 // Generated by (magic number): 51a00bb // Id's are bound by 249 Source GLSL 300 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 Name 4 "main" Name 16 "foo1(vf4;vf4;i1;" Name 13 "v1" Name 14 "v2" Name 15 "i1" Name 21 "foo2(vf4;vf4;i1;" Name 18 "v1" Name 19 "v2" Name 20 "i1" Name 59 "local" Name 61 "c" Name 72 "f" Name 74 "x" Name 128 "d" Name 154 "i" Name 172 "j" Name 222 "color" Name 228 "v" Name 229 "param" Name 231 "param" Name 233 "param" Name 239 "param" Name 241 "param" Name 243 "param" Decorate 59(local) PrecisionMedium Decorate 61(c) PrecisionMedium Decorate 72(f) PrecisionMedium Decorate 74(x) PrecisionMedium Decorate 74(x) Smooth Decorate 128(d) PrecisionMedium Decorate 154(i) PrecisionMedium Decorate 172(j) PrecisionMedium Decorate 222(color) PrecisionMedium Decorate 228(v) PrecisionMedium 2: TypeVoid 3: TypeFunction 2 7: TypeFloat 32 8: TypeVector 7(float) 4 9: TypePointer Function 8(fvec4) 10: TypeInt 32 1 11: TypePointer Function 10(int) 12: TypeFunction 8(fvec4) 9(ptr) 9(ptr) 11(ptr) 37: 7(float) Constant 0 38: 8(fvec4) ConstantComposite 37 37 37 37 48: 7(float) Constant 1065353216 49: 8(fvec4) ConstantComposite 48 48 48 48 60: TypePointer UniformConstant 10(int) 61(c): 60(ptr) Variable UniformConstant 64: 10(int) Constant 1 71: TypePointer Function 7(float) 73: TypePointer Input 7(float) 74(x): 73(ptr) Variable Input 128(d): 60(ptr) Variable UniformConstant 155: 10(int) Constant 0 159: 10(int) Constant 10 160: TypeBool 173: 10(int) Constant 20 177: 10(int) Constant 30 183: 7(float) Constant 1120429670 203: 7(float) Constant 1079739679 221: TypePointer Output 7(float) 222(color): 221(ptr) Variable Output 227: TypePointer UniformConstant 8(fvec4) 228(v): 227(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 59(local): 11(ptr) Variable Function 72(f): 71(ptr) Variable Function 154(i): 11(ptr) Variable Function 172(j): 11(ptr) Variable Function 229(param): 9(ptr) Variable Function 231(param): 9(ptr) Variable Function 233(param): 11(ptr) Variable Function 239(param): 9(ptr) Variable Function 241(param): 9(ptr) Variable Function 243(param): 11(ptr) Variable Function 62: 10(int) Load 61(c) Store 59(local) 62 63: 10(int) Load 59(local) 65: 10(int) IAdd 63 64 Store 59(local) 65 66: 10(int) Load 61(c) SelectionMerge 70 None Switch 66 69 case 1: 67 case 2: 68 67: Label 75: 7(float) Load 74(x) 76: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 75 Store 72(f) 76 Branch 70 68: Label 78: 7(float) Load 74(x) 79: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 78 Store 72(f) 79 Branch 70 69: Label 81: 7(float) Load 74(x) 82: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 81 Store 72(f) 82 Branch 70 70: Label 84: 10(int) Load 61(c) SelectionMerge 88 None Switch 84 87 case 1: 85 case 2: 86 85: Label 89: 7(float) Load 74(x) 90: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 89 91: 7(float) Load 72(f) 92: 7(float) FAdd 91 90 Store 72(f) 92 Branch 86 86: Label 93: 7(float) Load 74(x) 94: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 93 95: 7(float) Load 72(f) 96: 7(float) FAdd 95 94 Store 72(f) 96 Branch 88 87: Label 98: 7(float) Load 74(x) 99: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 98 100: 7(float) Load 72(f) 101: 7(float) FAdd 100 99 Store 72(f) 101 Branch 88 88: Label 103: 10(int) Load 61(c) SelectionMerge 106 None Switch 103 106 case 1: 104 case 2: 105 104: Label 107: 7(float) Load 74(x) 108: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 107 109: 7(float) Load 72(f) 110: 7(float) FAdd 109 108 Store 72(f) 110 Branch 106 105: Label 112: 7(float) Load 74(x) 113: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 112 114: 7(float) Load 72(f) 115: 7(float) FAdd 114 113 Store 72(f) 115 Branch 106 106: Label 118: 10(int) Load 61(c) SelectionMerge 122 None Switch 118 121 case 1: 119 case 2: 120 119: Label 123: 7(float) Load 74(x) 124: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 123 125: 7(float) Load 72(f) 126: 7(float) FAdd 125 124 Store 72(f) 126 Branch 122 120: Label 129: 10(int) Load 128(d) SelectionMerge 132 None Switch 129 132 case 1: 130 case 2: 131 130: Label 133: 7(float) Load 74(x) 134: 7(float) Load 74(x) 135: 7(float) FMul 133 134 136: 7(float) Load 74(x) 137: 7(float) FMul 135 136 138: 7(float) Load 72(f) 139: 7(float) FAdd 138 137 Store 72(f) 139 Branch 132 131: Label 141: 7(float) Load 74(x) 142: 7(float) Load 74(x) 143: 7(float) FMul 141 142 144: 7(float) Load 72(f) 145: 7(float) FAdd 144 143 Store 72(f) 145 Branch 132 132: Label Branch 122 121: Label 149: 7(float) Load 74(x) 150: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 149 151: 7(float) Load 72(f) 152: 7(float) FAdd 151 150 Store 72(f) 152 Branch 122 122: Label Store 154(i) 155 Branch 156 156: Label 158: 10(int) Load 154(i) 161: 160(bool) SLessThan 158 159 LoopMerge 157 None BranchConditional 161 162 157 162: Label 163: 10(int) Load 61(c) SelectionMerge 167 None Switch 163 166 case 1: 164 case 2: 165 164: Label 168: 7(float) Load 74(x) 169: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 168 170: 7(float) Load 72(f) 171: 7(float) FAdd 170 169 Store 72(f) 171 Store 172(j) 173 Branch 174 174: Label 176: 10(int) Load 172(j) 178: 160(bool) SLessThan 176 177 LoopMerge 175 None BranchConditional 178 179 175 179: Label 180: 7(float) Load 72(f) 181: 7(float) FAdd 180 48 Store 72(f) 181 182: 7(float) Load 72(f) 184: 160(bool) FOrdLessThan 182 183 SelectionMerge 186 None BranchConditional 184 185 186 185: Label Branch 175 186: Label 188: 10(int) Load 172(j) 189: 10(int) IAdd 188 64 Store 172(j) 189 Branch 174 175: Label Branch 167 165: Label 191: 7(float) Load 74(x) 192: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 191 193: 7(float) Load 72(f) 194: 7(float) FAdd 193 192 Store 72(f) 194 Branch 167 166: Label 197: 7(float) Load 74(x) 198: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 197 199: 7(float) Load 72(f) 200: 7(float) FAdd 199 198 Store 72(f) 200 Branch 167 167: Label 202: 7(float) Load 72(f) 204: 160(bool) FOrdLessThan 202 203 SelectionMerge 206 None BranchConditional 204 205 206 205: Label Branch 157 206: Label 208: 10(int) Load 154(i) 209: 10(int) IAdd 208 64 Store 154(i) 209 Branch 156 157: Label 210: 10(int) Load 61(c) SelectionMerge 213 None Switch 210 213 case 1: 211 case 2: 212 211: Label 214: 7(float) Load 74(x) 215: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 214 216: 7(float) Load 72(f) 217: 7(float) FAdd 216 215 Store 72(f) 217 Branch 213 212: Label Branch 213 213: Label 223: 7(float) Load 72(f) 224: 10(int) Load 59(local) 225: 7(float) ConvertSToF 224 226: 7(float) FAdd 223 225 Store 222(color) 226 230: 8(fvec4) Load 228(v) Store 229(param) 230 232: 8(fvec4) Load 228(v) Store 231(param) 232 234: 10(int) Load 61(c) Store 233(param) 234 235: 8(fvec4) FunctionCall 16(foo1(vf4;vf4;i1;) 229(param) 231(param) 233(param) 236: 7(float) CompositeExtract 235 1 237: 7(float) Load 222(color) 238: 7(float) FAdd 237 236 Store 222(color) 238 240: 8(fvec4) Load 228(v) Store 239(param) 240 242: 8(fvec4) Load 228(v) Store 241(param) 242 244: 10(int) Load 61(c) Store 243(param) 244 245: 8(fvec4) FunctionCall 21(foo2(vf4;vf4;i1;) 239(param) 241(param) 243(param) 246: 7(float) CompositeExtract 245 2 247: 7(float) Load 222(color) 248: 7(float) FAdd 247 246 Store 222(color) 248 Branch 6 6: Label Return FunctionEnd 16(foo1(vf4;vf4;i1;): 8(fvec4) Function None 12 13(v1): 9(ptr) FunctionParameter 14(v2): 9(ptr) FunctionParameter 15(i1): 11(ptr) FunctionParameter 17: Label 23: 10(int) Load 15(i1) SelectionMerge 27 None Switch 23 27 case 0: 24 case 2: 25 case 1: 25 case 3: 26 24: Label 28: 8(fvec4) Load 13(v1) ReturnValue 28 25: Label 30: 8(fvec4) Load 14(v2) ReturnValue 30 26: Label 32: 8(fvec4) Load 13(v1) 33: 8(fvec4) Load 14(v2) 34: 8(fvec4) FMul 32 33 ReturnValue 34 27: Label ReturnValue 38 FunctionEnd 21(foo2(vf4;vf4;i1;): 8(fvec4) Function None 12 18(v1): 9(ptr) FunctionParameter 19(v2): 9(ptr) FunctionParameter 20(i1): 11(ptr) FunctionParameter 22: Label 40: 10(int) Load 20(i1) SelectionMerge 45 None Switch 40 45 case 0: 41 case 2: 42 case 1: 43 case 3: 44 41: Label 46: 8(fvec4) Load 18(v1) ReturnValue 46 42: Label ReturnValue 49 43: Label 51: 8(fvec4) Load 19(v2) ReturnValue 51 44: Label 53: 8(fvec4) Load 18(v1) 54: 8(fvec4) Load 19(v2) 55: 8(fvec4) FMul 53 54 ReturnValue 55 45: Label ReturnValue 38 FunctionEnd