| |
| out vec4 sk_FragColor; |
| uniform vec4 colorGreen; |
| uniform vec4 colorRed; |
| uniform vec4 colorWhite; |
| void out_half_vh(out float v) { |
| v = colorWhite.x; |
| } |
| void out_half2_vh2(out vec2 v) { |
| v = vec2(colorWhite.y); |
| } |
| void out_half3_vh3(out vec3 v) { |
| v = vec3(colorWhite.z); |
| } |
| void out_half4_vh4(out vec4 v) { |
| v = vec4(colorWhite.w); |
| } |
| void out_half2x2_vh22(out mat2 v) { |
| v = mat2(colorWhite.x); |
| } |
| void out_half3x3_vh33(out mat3 v) { |
| v = mat3(colorWhite.y); |
| } |
| void out_half4x4_vh44(out mat4 v) { |
| v = mat4(colorWhite.z); |
| } |
| void out_int_vi(out int v) { |
| v = int(colorWhite.x); |
| } |
| void out_int2_vi2(out ivec2 v) { |
| v = ivec2(int(colorWhite.y)); |
| } |
| void out_int3_vi3(out ivec3 v) { |
| v = ivec3(int(colorWhite.z)); |
| } |
| void out_int4_vi4(out ivec4 v) { |
| v = ivec4(int(colorWhite.w)); |
| } |
| void out_float_vf(out float v) { |
| v = colorWhite.x; |
| } |
| void out_float2_vf2(out vec2 v) { |
| v = vec2(colorWhite.y); |
| } |
| void out_float3_vf3(out vec3 v) { |
| v = vec3(colorWhite.z); |
| } |
| void out_float4_vf4(out vec4 v) { |
| v = vec4(colorWhite.w); |
| } |
| void out_float2x2_vf22(out mat2 v) { |
| v = mat2(colorWhite.x); |
| } |
| void out_float3x3_vf33(out mat3 v) { |
| v = mat3(colorWhite.y); |
| } |
| void out_float4x4_vf44(out mat4 v) { |
| v = mat4(colorWhite.z); |
| } |
| void out_bool_vb(out bool v) { |
| v = bool(colorWhite.x); |
| } |
| void out_bool2_vb2(out bvec2 v) { |
| v = bvec2(bool(colorWhite.y)); |
| } |
| void out_bool3_vb3(out bvec3 v) { |
| v = bvec3(bool(colorWhite.z)); |
| } |
| void out_bool4_vb4(out bvec4 v) { |
| v = bvec4(bool(colorWhite.w)); |
| } |
| vec4 main() { |
| float h; |
| out_half_vh(h); |
| vec2 h2; |
| out_half2_vh2(h2); |
| vec3 h3; |
| out_half3_vh3(h3); |
| vec4 h4; |
| out_half4_vh4(h4); |
| out_half_vh(h3.y); |
| out_half2_vh2(h3.xz); |
| out_half4_vh4(h4.zwxy); |
| mat2 h2x2; |
| out_half2x2_vh22(h2x2); |
| mat3 h3x3; |
| out_half3x3_vh33(h3x3); |
| mat4 h4x4; |
| out_half4x4_vh44(h4x4); |
| out_half3_vh3(h3x3[1]); |
| out_half_vh(h4x4[3].w); |
| out_half_vh(h2x2[0].x); |
| int i; |
| out_int_vi(i); |
| ivec2 i2; |
| out_int2_vi2(i2); |
| ivec3 i3; |
| out_int3_vi3(i3); |
| ivec4 i4; |
| out_int4_vi4(i4); |
| out_int3_vi3(i4.xyz); |
| out_int_vi(i2.y); |
| float f; |
| out_float_vf(f); |
| vec2 f2; |
| out_float2_vf2(f2); |
| vec3 f3; |
| out_float3_vf3(f3); |
| vec4 f4; |
| out_float4_vf4(f4); |
| out_float2_vf2(f3.xy); |
| out_float_vf(f2.x); |
| mat2 f2x2; |
| out_float2x2_vf22(f2x2); |
| mat3 f3x3; |
| out_float3x3_vf33(f3x3); |
| mat4 f4x4; |
| out_float4x4_vf44(f4x4); |
| out_float_vf(f2x2[0].x); |
| bool b; |
| out_bool_vb(b); |
| bvec2 b2; |
| out_bool2_vb2(b2); |
| bvec3 b3; |
| out_bool3_vb3(b3); |
| bvec4 b4; |
| out_bool4_vb4(b4); |
| out_bool2_vb2(b4.xw); |
| out_bool_vb(b3.z); |
| bool ok = true; |
| ok = ok && 1.0 == (((((h * h2.x) * h3.x) * h4.x) * h2x2[0].x) * h3x3[0].x) * h4x4[0].x; |
| ok = ok && 1.0 == (((((f * f2.x) * f3.x) * f4.x) * f2x2[0].x) * f3x3[0].x) * f4x4[0].x; |
| ok = ok && 1 == ((i * i2.x) * i3.x) * i4.x; |
| ok = ok && (((b && b2.x) && b3.x) && b4.x); |
| return ok ? colorGreen : colorRed; |
| } |