#version 310 es precision mediump float; precision highp int; int c, d; layout(location = 0) in highp float x; layout(location = 1) in vec4 bigColor; layout(location = 2) in vec4 BaseColor; layout(location = 3) in float f; layout(location = 4) flat in int Count; layout(location = 5) flat in uvec4 v4; layout(location = 0) out vec4 outColor; void main() { float f; int a[2]; switch(c) { } switch (c) { // a no-error normal switch case 1: f = sin(x); break; case 2: switch (d) { case 1: f = x * x * x; break; case 2: f = x * x; break; } break; default: f = tan(x); } vec4 color = BaseColor; for (int i = 0; i < Count; ++i) { color += bigColor; } outColor = color; float sum = 0.0; for (int i = 0; i < 4; ++i) sum += float(v4[i]); vec4 tv4; for (int i = 0; i < 4; ++i) tv4[i] = float(v4[i] * 4u); outColor += vec4(sum) + tv4; vec4 r; r.xyz = BaseColor.xyz; for (int i = 0; i < Count; ++i) r.w = f; outColor.xyz += r.xyz; for (int i = 0; i < 16; i += 4) outColor *= f; int i = 0; int A, B, C, D; while (i<10) { A = 1; if (i%2 == 0) { B = 2; continue; C = 2; } if (i%5 == 0) { B = 2; break; C = 2; } i++; } D = 3; }