1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorRed, colorGreen; 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerbool test() { 4*c8dee2aaSAndroid Build Coastguard Worker bool ok = true; 5*c8dee2aaSAndroid Build Coastguard Worker int x = 12 | 6; 6*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == 14); 7*c8dee2aaSAndroid Build Coastguard Worker x = 254 & 7; 8*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == 6); 9*c8dee2aaSAndroid Build Coastguard Worker x = 2 ^ 7; 10*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == 5); 11*c8dee2aaSAndroid Build Coastguard Worker x = 1 << 4; 12*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == 16); 13*c8dee2aaSAndroid Build Coastguard Worker x = ~~~x; 14*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == ~16); 15*c8dee2aaSAndroid Build Coastguard Worker x = ~~~~x; 16*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == ~16); 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard Worker int3 v = ~int3(12, 34, 56); 19*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (v == int3(~12, ~34, ~56)); 20*c8dee2aaSAndroid Build Coastguard Worker 21*c8dee2aaSAndroid Build Coastguard Worker // Left-shifting a negative integer is undefined in C++, but allowed in GPU shading languages. 22*c8dee2aaSAndroid Build Coastguard Worker // https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29093 23*c8dee2aaSAndroid Build Coastguard Worker x = -2 << 2; 24*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == -8); 25*c8dee2aaSAndroid Build Coastguard Worker x = 128 >> 2; 26*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == 32); 27*c8dee2aaSAndroid Build Coastguard Worker x = 123 % 45; 28*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (x == 33); 29*c8dee2aaSAndroid Build Coastguard Worker return ok; 30*c8dee2aaSAndroid Build Coastguard Worker} 31*c8dee2aaSAndroid Build Coastguard Worker 32*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 33*c8dee2aaSAndroid Build Coastguard Worker return test() ? colorGreen : colorRed; 34*c8dee2aaSAndroid Build Coastguard Worker} 35