First call with GL_POINT_SIZE_ARRAY_OES i.e. glIsEnabled(GL_POINT_SIZE_ARRAY_OES) causes an instability in Windows emulation libraries 2.07.27.0484.
Instead of GLboolean value, above call returns 0xf0, but the glGetError() returns GL_NO_ERROR.
Then, first subsequent call to glTexImage2D with correct parameter values returns GL_INVALID_ENUM.
Finally any subsequent call related to GL_POINT_SIZE_ARRAY_OES and glTexImage2D does not cause any problems.
Run this code after initialization:
GLboolean result = glIsEnabled(GL_POINT_SIZE_ARRAY_OES); //the value of result is always 0xf0, you can check if it is GL_TRUE or GL_FALSE - in this case it is not.
GLuint tmp = 0;
glGenTextures(1, &tmp);
glBindTexture(GL_TEXTURE_2D, tmp);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
GLenum error = glGetError(); //the value of error will be GL_INVALID_ENUM;
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
error = glGetError(); //the value of error will be GL_NO_ERROR
This is also the workaround of this issue. After execution of this snippet you can use calls related to GL_POINT_SIZE_ARRAY_OES without problems.
Best Regards.