1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 2*c8dee2aaSAndroid Build Coastguard Workeruniform half4 testInputs; 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 5*c8dee2aaSAndroid Build Coastguard Worker bool ok = true; 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Worker const half4 vec1234 = half4(1, 2, 3, 4); 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(testInputs) == half2x2(-1.25, 0, 0.75, 2.25); 10*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(half4(1, 2, 3, 4)) == half2x2(1, 2, 3, 4); 11*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(vec1234) == half2x2(1, 2, 3, 4); 12*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(half4(2, 0, 0, 2)) == half2x2(2); 13*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(half4(2)) == half2x2(2, 2, 2, 2); 14*c8dee2aaSAndroid Build Coastguard Worker 15*c8dee2aaSAndroid Build Coastguard Worker ok = ok && float2x2(testInputs) == float2x2(-1.25, 0, 0.75, 2.25); 16*c8dee2aaSAndroid Build Coastguard Worker ok = ok && float2x2(half4(1, 2, 3, 4)) == float2x2(1, 2, 3, 4); 17*c8dee2aaSAndroid Build Coastguard Worker ok = ok && float2x2(vec1234) == float2x2(1, 2, 3, 4); 18*c8dee2aaSAndroid Build Coastguard Worker ok = ok && float2x2(half4(4, 0, 0, 4)) == float2x2(4); 19*c8dee2aaSAndroid Build Coastguard Worker ok = ok && float2x2(half4(4)) == float2x2(4, 4, 4, 4); 20*c8dee2aaSAndroid Build Coastguard Worker 21*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(colorGreen) == half2x2(0, 1, 0, 1); 22*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(colorGreen) == half2x2(int4(0, 1, 0, 1)); 23*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(int4(colorGreen)) == half2x2(int4(0, 1, 0, 1)); 24*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(0, 1, 0, 1) == half2x2(int4(0, 1, 0, 1)); 25*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(8, 8, 8, 8) == half2x2(int4(8)); 26*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(8) == half2x2(int4(8, 0, 0, 8)); 27*c8dee2aaSAndroid Build Coastguard Worker 28*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(colorGreen) == half2x2(false, true, false, true); 29*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(colorGreen) == half2x2(bool4(false, true, false, true)); 30*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(bool4(colorGreen)) == half2x2(bool4(false, true, false, true)); 31*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(false, true, false, true) == half2x2(bool4(false, true, false, true)); 32*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(true, false, false, true) == half2x2(bool4(true, false, false, true)); 33*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(true, true, true, true) == half2x2(bool4(true)); 34*c8dee2aaSAndroid Build Coastguard Worker 35*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(colorGreen - colorRed) == half2x2(-1, 1, 0, 0); 36*c8dee2aaSAndroid Build Coastguard Worker ok = ok && half2x2(colorGreen + 5) == half2x2(5, 6, 5, 6); 37*c8dee2aaSAndroid Build Coastguard Worker 38*c8dee2aaSAndroid Build Coastguard Worker return ok ? colorGreen : colorRed; 39*c8dee2aaSAndroid Build Coastguard Worker} 40