This is the equivalent to system/shaders/guishader_frag_rgba_oes.glsl with an oes sampler instead of an 2d texture. I was already wondering why this file had the m_colour. A clever glsl compiler will optimize it away in the linking step. A not so clever compiler will interpolate it which would be bad from a performance perspective.

If you're going to remove it please remove all unused varyings/uniforms, eventually also in the non oes version.

When querying a uniform which does not exists GLES will report -1 as uniform location. This is a valid input for all glUniform calls and thus no extra special 'does the uniform exist' checks are required on the C++ code side. In fact if the compiler decides that an uniform is not being used it'll also return -1.