I don't know if this is the best place to report bugs, but here it is:
Even the simplest vertex/fragment shader pairs fails to link when invariant specifier is used for gl_Position:
Vertex shader:
invariant gl_Position;void main(void){gl_Position = vec4(0.0,0.0,0.0,1.0);
}
Fragment Shader:
void main(void){}
It gives the following strange error: "built-in variables invariance mismatch."
If I remove the invariant or use #pragma STDGL invariant(all) the shaders compile and the program links fine.
The invariance qualifier is working in Adreno 5x drivers, but you are correct that it is not working in Adreno 4x drivers. We are currently invesigating the issue. Thanks for reporting it.