blob: 18b77f0157e2dec1e3e63eb315531d78e402f60b [file] [log] [blame]
uniform half4 colorGreen, colorRed;
bool test_scalar() {
mediump float mp = 0.5;
highp float hp = mp;
highp int ihp = 2;
mediump int imp = ihp;
return mp == hp && ihp == imp;
}
bool test_vector() {
mediump vec2 mp2 = vec2(2);
highp vec2 hp2 = mp2;
mediump vec3 mp3 = vec3(3);
highp vec3 hp3 = mp3;
mediump vec4 mp4 = vec4(4);
highp vec4 hp4 = mp4;
highp ivec2 ihp2 = ivec2(2);
mediump ivec2 imp2 = ihp2;
highp ivec3 ihp3 = ivec3(3);
mediump ivec3 imp3 = ihp3;
highp ivec4 ihp4 = ivec4(4);
mediump ivec4 imp4 = ihp4;
return mp2 == hp2 && hp3 == mp3 && mp4 == hp4 &&
imp2 == ihp2 && ihp3 == imp3 && imp4 == ihp4;
}
bool test_matrix() {
mediump mat2 mp2 = mat2(2);
highp mat2 hp2 = mp2;
mediump mat3 mp3 = mat3(3);
highp mat3 hp3 = mp3;
mediump mat4 mp4 = mat4(4);
highp mat4 hp4 = mp4;
return mp2 == hp2 && hp3 == mp3 && mp4 == hp4;
}
bool test_array() {
mediump float mf[1]; mf[0] = 1;
highp float hf[1]; hf[0] = 1;
mediump vec2 mv[2]; mv[0] = vec2(0, 1); mv[1] = vec2(2, 3);
highp vec2 hv[2]; hv[0] = vec2(0, 1); hv[1] = vec2(2, 3);
return mf[0] == hf[0] && hv[0] == mv[0] && mv[1] == hv[1];
}
vec4 main(vec2 coords) {
highp vec4 zero = vec4(0);
mediump vec4 one = vec4(1);
lowp vec4 green = colorGreen;
green = green * one + zero;
highp vec4 red = colorRed;
red = (red + zero) * one;
return (test_scalar() && test_vector() && test_matrix() && test_array()) ? green : red;
}