1*c8dee2aaSAndroid Build Coastguard Worker 2*c8dee2aaSAndroid Build Coastguard Workerout vec4 sk_FragColor; 3*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorRed; 4*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorGreen; 5*c8dee2aaSAndroid Build Coastguard Workeruniform float unknownInput; 6*c8dee2aaSAndroid Build Coastguard Workerbool test_int_b() { 7*c8dee2aaSAndroid Build Coastguard Worker bool ok = true; 8*c8dee2aaSAndroid Build Coastguard Worker ivec4 inputRed = ivec4(colorRed); 9*c8dee2aaSAndroid Build Coastguard Worker ivec4 inputGreen = ivec4(colorGreen); 10*c8dee2aaSAndroid Build Coastguard Worker ivec4 x = inputRed + 2; 11*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(3, 2, 2, 3); 12*c8dee2aaSAndroid Build Coastguard Worker x = inputGreen.ywxz - 2; 13*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(-1, -1, -2, -2); 14*c8dee2aaSAndroid Build Coastguard Worker x = inputRed + inputGreen.y; 15*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(2, 1, 1, 2); 16*c8dee2aaSAndroid Build Coastguard Worker x.xyz = inputGreen.wyw * 9; 17*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(9, 9, 9, 2); 18*c8dee2aaSAndroid Build Coastguard Worker x.xy = x.zw / 4; 19*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(2, 0, 9, 2); 20*c8dee2aaSAndroid Build Coastguard Worker x = (inputRed * 5).yxwz; 21*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(0, 5, 5, 0); 22*c8dee2aaSAndroid Build Coastguard Worker x = 2 + inputRed; 23*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(3, 2, 2, 3); 24*c8dee2aaSAndroid Build Coastguard Worker x = 10 - inputGreen.ywxz; 25*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(9, 9, 10, 10); 26*c8dee2aaSAndroid Build Coastguard Worker x = inputRed.x + inputGreen; 27*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(1, 2, 1, 2); 28*c8dee2aaSAndroid Build Coastguard Worker x.xyz = 8 * inputGreen.wyw; 29*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(8, 8, 8, 2); 30*c8dee2aaSAndroid Build Coastguard Worker x.xy = 36 / x.zw; 31*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(4, 18, 8, 2); 32*c8dee2aaSAndroid Build Coastguard Worker x = (37 / x).yxwz; 33*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(2, 9, 18, 4); 34*c8dee2aaSAndroid Build Coastguard Worker x += 2; 35*c8dee2aaSAndroid Build Coastguard Worker x *= 2; 36*c8dee2aaSAndroid Build Coastguard Worker x -= 4; 37*c8dee2aaSAndroid Build Coastguard Worker x /= 2; 38*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(2, 9, 18, 4); 39*c8dee2aaSAndroid Build Coastguard Worker x = x + 2; 40*c8dee2aaSAndroid Build Coastguard Worker x = x * 2; 41*c8dee2aaSAndroid Build Coastguard Worker x = x - 4; 42*c8dee2aaSAndroid Build Coastguard Worker x = x / 2; 43*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(2, 9, 18, 4); 44*c8dee2aaSAndroid Build Coastguard Worker return ok; 45*c8dee2aaSAndroid Build Coastguard Worker} 46*c8dee2aaSAndroid Build Coastguard Workervec4 main() { 47*c8dee2aaSAndroid Build Coastguard Worker bool _0_ok = true; 48*c8dee2aaSAndroid Build Coastguard Worker vec4 _1_inputRed = colorRed; 49*c8dee2aaSAndroid Build Coastguard Worker vec4 _2_inputGreen = colorGreen; 50*c8dee2aaSAndroid Build Coastguard Worker vec4 _3_x = _1_inputRed + 2.0; 51*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(3.0, 2.0, 2.0, 3.0); 52*c8dee2aaSAndroid Build Coastguard Worker _3_x = _2_inputGreen.ywxz - 2.0; 53*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(-1.0, -1.0, -2.0, -2.0); 54*c8dee2aaSAndroid Build Coastguard Worker _3_x = _1_inputRed + _2_inputGreen.y; 55*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(2.0, 1.0, 1.0, 2.0); 56*c8dee2aaSAndroid Build Coastguard Worker _3_x.xyz = _2_inputGreen.wyw * 9.0; 57*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 9.0, 2.0); 58*c8dee2aaSAndroid Build Coastguard Worker _3_x.xy = _3_x.zw * 2.0; 59*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(18.0, 4.0, 9.0, 2.0); 60*c8dee2aaSAndroid Build Coastguard Worker _3_x = (_1_inputRed * 5.0).yxwz; 61*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(0.0, 5.0, 5.0, 0.0); 62*c8dee2aaSAndroid Build Coastguard Worker _3_x = 2.0 + _1_inputRed; 63*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(3.0, 2.0, 2.0, 3.0); 64*c8dee2aaSAndroid Build Coastguard Worker _3_x = 10.0 - _2_inputGreen.ywxz; 65*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(9.0, 9.0, 10.0, 10.0); 66*c8dee2aaSAndroid Build Coastguard Worker _3_x = _1_inputRed.x + _2_inputGreen; 67*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(1.0, 2.0, 1.0, 2.0); 68*c8dee2aaSAndroid Build Coastguard Worker _3_x.xyz = 8.0 * _2_inputGreen.wyw; 69*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(8.0, 8.0, 8.0, 2.0); 70*c8dee2aaSAndroid Build Coastguard Worker _3_x.xy = 32.0 / _3_x.zw; 71*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(4.0, 16.0, 8.0, 2.0); 72*c8dee2aaSAndroid Build Coastguard Worker _3_x = (32.0 / _3_x).yxwz; 73*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(2.0, 8.0, 16.0, 4.0); 74*c8dee2aaSAndroid Build Coastguard Worker _3_x += 2.0; 75*c8dee2aaSAndroid Build Coastguard Worker _3_x *= 2.0; 76*c8dee2aaSAndroid Build Coastguard Worker _3_x -= 4.0; 77*c8dee2aaSAndroid Build Coastguard Worker _3_x *= 0.5; 78*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(2.0, 8.0, 16.0, 4.0); 79*c8dee2aaSAndroid Build Coastguard Worker _3_x = _3_x + 2.0; 80*c8dee2aaSAndroid Build Coastguard Worker _3_x = _3_x * 2.0; 81*c8dee2aaSAndroid Build Coastguard Worker _3_x = _3_x - 4.0; 82*c8dee2aaSAndroid Build Coastguard Worker _3_x = _3_x * 0.5; 83*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _3_x == vec4(2.0, 8.0, 16.0, 4.0); 84*c8dee2aaSAndroid Build Coastguard Worker return _0_ok && test_int_b() ? colorGreen : colorRed; 85*c8dee2aaSAndroid Build Coastguard Worker} 86