If you refer to a varying value that is not written by the fragment shader, you should get a link error. Example: precision highp float; varying vec4 bogus_value; void main() { gl_FragColor = bogus_value; }