1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed, colorWhite; 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workervoid out_half (out half v) { v = colorWhite.r; } 4*c8dee2aaSAndroid Build Coastguard Workervoid out_half2(out half2 v) { v = half2(colorWhite.g); } 5*c8dee2aaSAndroid Build Coastguard Workervoid out_half3(out half3 v) { v = half3(colorWhite.b); } 6*c8dee2aaSAndroid Build Coastguard Workervoid out_half4(out half4 v) { v = half4(colorWhite.a); } 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Workervoid out_half2x2(out half2x2 v) { v = half2x2(colorWhite.r); } 9*c8dee2aaSAndroid Build Coastguard Workervoid out_half3x3(out half3x3 v) { v = half3x3(colorWhite.g); } 10*c8dee2aaSAndroid Build Coastguard Workervoid out_half4x4(out half4x4 v) { v = half4x4(colorWhite.b); } 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workervoid out_int (out int v) { v = int(colorWhite.r); } 13*c8dee2aaSAndroid Build Coastguard Workervoid out_int2(out int2 v) { v = int2(colorWhite.g); } 14*c8dee2aaSAndroid Build Coastguard Workervoid out_int3(out int3 v) { v = int3(colorWhite.b); } 15*c8dee2aaSAndroid Build Coastguard Workervoid out_int4(out int4 v) { v = int4(colorWhite.a); } 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Workervoid out_float (out float v) { v = float(colorWhite.r); } 18*c8dee2aaSAndroid Build Coastguard Workervoid out_float2(out float2 v) { v = float2(colorWhite.g); } 19*c8dee2aaSAndroid Build Coastguard Workervoid out_float3(out float3 v) { v = float3(colorWhite.b); } 20*c8dee2aaSAndroid Build Coastguard Workervoid out_float4(out float4 v) { v = float4(colorWhite.a); } 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard Workervoid out_float2x2(out float2x2 v) { v = float2x2(colorWhite.r); } 23*c8dee2aaSAndroid Build Coastguard Workervoid out_float3x3(out float3x3 v) { v = float3x3(colorWhite.g); } 24*c8dee2aaSAndroid Build Coastguard Workervoid out_float4x4(out float4x4 v) { v = float4x4(colorWhite.b); } 25*c8dee2aaSAndroid Build Coastguard Worker 26*c8dee2aaSAndroid Build Coastguard Workervoid out_bool (out bool v) { v = bool(colorWhite.r); } 27*c8dee2aaSAndroid Build Coastguard Workervoid out_bool2(out bool2 v) { v = bool2(colorWhite.g); } 28*c8dee2aaSAndroid Build Coastguard Workervoid out_bool3(out bool3 v) { v = bool3(colorWhite.b); } 29*c8dee2aaSAndroid Build Coastguard Workervoid out_bool4(out bool4 v) { v = bool4(colorWhite.a); } 30*c8dee2aaSAndroid Build Coastguard Worker 31*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 32*c8dee2aaSAndroid Build Coastguard Worker half4 result; 33*c8dee2aaSAndroid Build Coastguard Worker 34*c8dee2aaSAndroid Build Coastguard Worker half h; out_half (h); 35*c8dee2aaSAndroid Build Coastguard Worker half2 h2; out_half2(h2); 36*c8dee2aaSAndroid Build Coastguard Worker half3 h3; out_half3(h3); 37*c8dee2aaSAndroid Build Coastguard Worker half4 h4; out_half4(h4); 38*c8dee2aaSAndroid Build Coastguard Worker out_half(h3[1]); 39*c8dee2aaSAndroid Build Coastguard Worker out_half2(h3.xz); 40*c8dee2aaSAndroid Build Coastguard Worker out_half4(h4.zwxy); 41*c8dee2aaSAndroid Build Coastguard Worker 42*c8dee2aaSAndroid Build Coastguard Worker half2x2 h2x2; out_half2x2(h2x2); 43*c8dee2aaSAndroid Build Coastguard Worker half3x3 h3x3; out_half3x3(h3x3); 44*c8dee2aaSAndroid Build Coastguard Worker half4x4 h4x4; out_half4x4(h4x4); 45*c8dee2aaSAndroid Build Coastguard Worker out_half3(h3x3[1]); 46*c8dee2aaSAndroid Build Coastguard Worker out_half(h4x4[3].w); 47*c8dee2aaSAndroid Build Coastguard Worker out_half(h2x2[0][0]); 48*c8dee2aaSAndroid Build Coastguard Worker 49*c8dee2aaSAndroid Build Coastguard Worker int i; out_int (i); 50*c8dee2aaSAndroid Build Coastguard Worker int2 i2; out_int2(i2); 51*c8dee2aaSAndroid Build Coastguard Worker int3 i3; out_int3(i3); 52*c8dee2aaSAndroid Build Coastguard Worker int4 i4; out_int4(i4); 53*c8dee2aaSAndroid Build Coastguard Worker out_int3(i4.xyz); 54*c8dee2aaSAndroid Build Coastguard Worker out_int(i2[1]); 55*c8dee2aaSAndroid Build Coastguard Worker 56*c8dee2aaSAndroid Build Coastguard Worker float f; out_float (f); 57*c8dee2aaSAndroid Build Coastguard Worker float2 f2; out_float2(f2); 58*c8dee2aaSAndroid Build Coastguard Worker float3 f3; out_float3(f3); 59*c8dee2aaSAndroid Build Coastguard Worker float4 f4; out_float4(f4); 60*c8dee2aaSAndroid Build Coastguard Worker out_float2(f3.xy); 61*c8dee2aaSAndroid Build Coastguard Worker out_float(f2[0]); 62*c8dee2aaSAndroid Build Coastguard Worker 63*c8dee2aaSAndroid Build Coastguard Worker float2x2 f2x2; out_float2x2(f2x2); 64*c8dee2aaSAndroid Build Coastguard Worker float3x3 f3x3; out_float3x3(f3x3); 65*c8dee2aaSAndroid Build Coastguard Worker float4x4 f4x4; out_float4x4(f4x4); 66*c8dee2aaSAndroid Build Coastguard Worker out_float(f2x2[0][0]); 67*c8dee2aaSAndroid Build Coastguard Worker 68*c8dee2aaSAndroid Build Coastguard Worker bool b; out_bool (b); 69*c8dee2aaSAndroid Build Coastguard Worker bool2 b2; out_bool2(b2); 70*c8dee2aaSAndroid Build Coastguard Worker bool3 b3; out_bool3(b3); 71*c8dee2aaSAndroid Build Coastguard Worker bool4 b4; out_bool4(b4); 72*c8dee2aaSAndroid Build Coastguard Worker out_bool2(b4.xw); 73*c8dee2aaSAndroid Build Coastguard Worker out_bool(b3[2]); 74*c8dee2aaSAndroid Build Coastguard Worker 75*c8dee2aaSAndroid Build Coastguard Worker bool ok = true; 76*c8dee2aaSAndroid Build Coastguard Worker ok = ok && 1 == (h * h2.x * h3.x * h4.x * h2x2[0][0] * h3x3[0][0] * h4x4[0][0]); 77*c8dee2aaSAndroid Build Coastguard Worker ok = ok && 1 == (f * f2.x * f3.x * f4.x * f2x2[0][0] * f3x3[0][0] * f4x4[0][0]); 78*c8dee2aaSAndroid Build Coastguard Worker ok = ok && 1 == (i * i2.x * i3.x * i4.x); 79*c8dee2aaSAndroid Build Coastguard Worker ok = ok && (b && b2.x && b3.x && b4.x); 80*c8dee2aaSAndroid Build Coastguard Worker 81*c8dee2aaSAndroid Build Coastguard Worker return ok ? colorGreen : colorRed; 82*c8dee2aaSAndroid Build Coastguard Worker} 83