1*c8dee2aaSAndroid Build Coastguard Worker 2*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorRed; 3*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorGreen; 4*c8dee2aaSAndroid Build Coastguard Workeruniform float unknownInput; 5*c8dee2aaSAndroid Build Coastguard Workerbool test_int_b() { 6*c8dee2aaSAndroid Build Coastguard Worker bool ok = true; 7*c8dee2aaSAndroid Build Coastguard Worker ivec4 x = ivec4(6, 6, 7, 8); 8*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(6, 6, 7, 8); 9*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(7, 9, 9, 9); 10*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(7, 9, 9, 9); 11*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(9, 9, 10, 10); 12*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(9, 9, 10, 10); 13*c8dee2aaSAndroid Build Coastguard Worker x.xyz = ivec3(6); 14*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(6, 6, 6, 10); 15*c8dee2aaSAndroid Build Coastguard Worker x.xy = ivec2(3); 16*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(3, 3, 6, 10); 17*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(6); 18*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(6); 19*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(6, 6, 7, 8); 20*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(6, 6, 7, 8); 21*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(-7, -9, -9, -9); 22*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(-7, -9, -9, -9); 23*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(9, 9, 10, 10); 24*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(9, 9, 10, 10); 25*c8dee2aaSAndroid Build Coastguard Worker x.xyz = ivec3(6); 26*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(6, 6, 6, 10); 27*c8dee2aaSAndroid Build Coastguard Worker x.xy = ivec2(8); 28*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(8, 8, 6, 10); 29*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(200, 100, 50, 25); 30*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(200, 100, 50, 25); 31*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(6); 32*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(6); 33*c8dee2aaSAndroid Build Coastguard Worker int unknown = int(unknownInput); 34*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 35*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 36*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(0); 37*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(0); 38*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(0) / unknown; 39*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(0); 40*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 41*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 42*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 43*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 44*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 45*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 46*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 47*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 48*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 49*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 50*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 51*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 52*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(0); 53*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(0); 54*c8dee2aaSAndroid Build Coastguard Worker x = 0 / ivec4(unknown); 55*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(0); 56*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 57*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 58*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 59*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 60*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(0); 61*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(0); 62*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 63*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 64*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 65*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 66*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 67*c8dee2aaSAndroid Build Coastguard Worker x += 1; 68*c8dee2aaSAndroid Build Coastguard Worker x -= 1; 69*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 70*c8dee2aaSAndroid Build Coastguard Worker x = ivec4(unknown); 71*c8dee2aaSAndroid Build Coastguard Worker x = x + 1; 72*c8dee2aaSAndroid Build Coastguard Worker x = x - 1; 73*c8dee2aaSAndroid Build Coastguard Worker ok = ok && x == ivec4(unknown); 74*c8dee2aaSAndroid Build Coastguard Worker return ok; 75*c8dee2aaSAndroid Build Coastguard Worker} 76*c8dee2aaSAndroid Build Coastguard Workervec4 main() { 77*c8dee2aaSAndroid Build Coastguard Worker bool _0_ok = true; 78*c8dee2aaSAndroid Build Coastguard Worker vec4 _1_x = vec4(6.0, 6.0, 7.0, 8.0); 79*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(6.0, 6.0, 7.0, 8.0); 80*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(7.0, 9.0, 9.0, 9.0); 81*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(7.0, 9.0, 9.0, 9.0); 82*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(9.0, 9.0, 10.0, 10.0); 83*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(9.0, 9.0, 10.0, 10.0); 84*c8dee2aaSAndroid Build Coastguard Worker _1_x.xyz = vec3(6.0); 85*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(6.0, 6.0, 6.0, 10.0); 86*c8dee2aaSAndroid Build Coastguard Worker _1_x.xy = vec2(3.0); 87*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(3.0, 3.0, 6.0, 10.0); 88*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(6.0); 89*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(6.0); 90*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(6.0, 6.0, 7.0, 8.0); 91*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(6.0, 6.0, 7.0, 8.0); 92*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(-7.0, -9.0, -9.0, -9.0); 93*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(-7.0, -9.0, -9.0, -9.0); 94*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(9.0, 9.0, 10.0, 10.0); 95*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(9.0, 9.0, 10.0, 10.0); 96*c8dee2aaSAndroid Build Coastguard Worker _1_x.xyz = vec3(6.0); 97*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(6.0, 6.0, 6.0, 10.0); 98*c8dee2aaSAndroid Build Coastguard Worker _1_x.xy = vec2(8.0); 99*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(8.0, 8.0, 6.0, 10.0); 100*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(2.0, 1.0, 0.5, 0.25); 101*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(2.0, 1.0, 0.5, 0.25); 102*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(6.0); 103*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(6.0); 104*c8dee2aaSAndroid Build Coastguard Worker float _2_unknown = unknownInput; 105*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 106*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 107*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(0.0); 108*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(0.0); 109*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(0.0) / _2_unknown; 110*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(0.0); 111*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 112*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 113*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 114*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 115*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 116*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 117*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 118*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 119*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 120*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 121*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 122*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 123*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(0.0); 124*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(0.0); 125*c8dee2aaSAndroid Build Coastguard Worker _1_x = 0.0 / vec4(_2_unknown); 126*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(0.0); 127*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 128*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 129*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 130*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 131*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(0.0); 132*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(0.0); 133*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 134*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 135*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 136*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 137*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 138*c8dee2aaSAndroid Build Coastguard Worker _1_x += 1.0; 139*c8dee2aaSAndroid Build Coastguard Worker _1_x -= 1.0; 140*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 141*c8dee2aaSAndroid Build Coastguard Worker _1_x = vec4(_2_unknown); 142*c8dee2aaSAndroid Build Coastguard Worker _1_x = _1_x + 1.0; 143*c8dee2aaSAndroid Build Coastguard Worker _1_x = _1_x - 1.0; 144*c8dee2aaSAndroid Build Coastguard Worker _0_ok = _0_ok && _1_x == vec4(_2_unknown); 145*c8dee2aaSAndroid Build Coastguard Worker return _0_ok && test_int_b() ? colorGreen : colorRed; 146*c8dee2aaSAndroid Build Coastguard Worker} 147