On Win32 emulator (v2.7/WinXP/NVidia) I keep getting GL_INVALID_VALUE from a glUniform4f call to set a simple vec4 color. Tried with glUniform4fv, same result. Did check the glError before the glUniform call too. What's funny is that my color uniform gets set properly. The uniform was initial declared in the fragment shader so I moved it to the vertex shader and now passing its value through a varying to check if it was an issue with the uniforms from fragment shader but I'm still getting the error.